我将用户保存在App Engine的NDB中。有些值是必需的但是没有问题,所以我希望它们设置为默认值(如果不可用)。 当我创建用户(primaryEmail =" example@dom.com")时,默认值似乎是一个空字符串:
User(key=Key('User', 4523189241643008),familyName=u'', givenName=u'', primaryEmail=u'example@dom.com')
class User(ndb.Model):
primaryEmail = ndb.StringProperty(required=True)
givenName = ndb.StringProperty(required=True, default='<name>')
familyName = ndb.StringProperty(required=True, default='<surname>')
为StringProperties设置我应该知道的默认值是否存在一些限制?
答案 0 :(得分:1)
如果您提供空字符串作为参数,NDB将存储它们。
..., familyName=u'', givenName=u'', ...
如果您不提供参数,它将使用默认值。
User(key=Key('User', 4523189241643008), primaryEmail=u'example@dom.com')
注意:这也意味着您无法创建所需的字段:
class User(ndb.Model):
primaryEmail = ndb.StringProperty(required=True)
givenName = ndb.StringProperty(default='<name>')
familyName = ndb.StringProperty(default='<surname>')
答案 1 :(得分:1)
取出&#39;&lt; ...&gt;&#39;人物造成了这个问题。