W starym google appengine datastore API "required" i "default" może być używane razem dla definicji właściwości. Korzystanie NDB dostajęDlaczego wymagane i domyślne są wykluczające się wzajemnie w ndb?
ValueError: repeated, required and default are mutally exclusive.
kod próbki:
from google.appengine.ext import ndb
from google.appengine.ext import db
class NdbCounter(ndb.Model):
# raises ValueError
count = ndb.IntegerProperty(required=True, default=1)
class DbCounter(db.Model):
# Doesn't raise ValueError
count = db.IntegerProperty(required=True, default=1)
chcę instancję licznik bez konieczności określania wartości. Chcę też uniknąć sytuacji, w której ktoś zastąpi tę wartość None. Powyższy przykład jest skonstruowany. Prawdopodobnie mógłbym żyć bez wymaganego atrybutu i zamiast tego dodać metodę increment(). Nadal nie widzę powodu, dla którego wymagane i domyślne wzajemnie się wykluczają.
Czy to błąd lub funkcja?
Dzięki. Utworzyłem problem http://code.google.com/p/appengine-ndb-experiment/issues/detail?id=236 – bastian