2011-12-18 15 views
6

¿Es posible establecer valores predeterminados para los modelos? Por ejemplo, consideremos este modelo de AppEngine DocumentaciónValores predeterminados para modelos en Google App Engine

from google.appengine.ext import db 

class Pet(db.Model): 
    name = db.StringProperty(required=True) 
    type = db.StringProperty(required=True, choices=set(["cat", "dog", "bird"])) 
    birthdate = db.DateProperty() 
    weight_in_pounds = db.IntegerProperty() 
    spayed_or_neutered = db.BooleanProperty() 
    owner = db.UserProperty(required=True) 

Quiero establecer el valor predeterminado de name ser "Pet Sin nombre", por lo que si el usuario no la suministra, los valores predeterminados tomada. Entonces, ¿es esto posible?

PD: Quiero que esto se haga en la clase del modelo en sí Pet

Respuesta

9

Usar el atributo predeterminado, por ejemplo,

class Pet(db.Model): 
    name = db.StringProperty(required=True, default="(unnamed)") 
+0

Gracias me han estado tratando de encontrar esto en la documentación por algún tiempo ahora – Gautam

+0

estaba a punto de enviar un enlace a la documentación, y luego descubren que su documento no (bueno). Nick, por favor haz algo al respecto :) –

+0

BTW: No sé si funciona con el atributo requerido, es posible que tengas que pasar el valor en el campo ctor al nombre, aunque tenga un valor predeterminado, que prácticamente hace el atributo predeterminado en este caso inútil. –