我有一个关于 None 和 '' 在谷歌云中使用数据存储时的值。 e、 g。
None
''
class User(ndb.Model): age = ndb.IntegerProperty(default=None) name = ndb.StringProperty(default='') address = ndb.StringProperty(default=None)
我设置默认值是因为我想索引和检索一个实体列表,其中一个属性没有设置值。 将StringProperty默认值设置为 “” 或 没有一个 ? 哪一个更好,为什么?
“”
没有一个
从索引的角度来看,两者没有区别:两者都有 None 和 '' 是属性将具有的实际值(与根本没有设置的值相反),因此实体将被索引。另请参见: Does NDB still index with default=None or properties set to None?
设置a StringProperty 到 没有一个 (如果允许的话)在使用时需要额外的类型检查,因为它可能同时包含 string 和 没有一个 键入值。将其默认值设置为 “” 不需要以下检查 “” 是字符串-因此属性将始终包含 一串 价值观
StringProperty
string
一串