2011-12-18 5 views
6

È possibile impostare valori predefiniti per i modelli? Ad esempio si consideri questo modello da AppEngine DocumentazioneValori predefiniti per i modelli in 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) 

voglio impostare il valore predefinito di name di essere "Senza nome animale domestico", per cui se l'utente non la fornisce, i valori predefiniti presi. Quindi è possibile?

PS: voglio che questo sia fatto in classe del modello Pet stesso

risposta

9

Utilizzare l'attributo di default, ad esempio,

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

Grazie io abbiamo cercato di trovare questo nella documentazione per qualche ora – Gautam

+0

stavo per postare un link ai documenti, e poi scopro che il suo documento non (bene). Nick per favore fai qualcosa a riguardo :) –

+0

BTW: Non so se funziona con l'attributo richiesto, potresti dover passare il valore nel campo ctor per nominare anche se ha un valore predefinito, che praticamente fa l'attributo predefinito in questo caso è inutile. –