如何检查值为None的字段是存储在数据存储区中还是根本不存储?

时间:2013-09-14 12:39:44

标签: google-app-engine google-cloud-datastore

让我们解释一下这个问题。

我们定义了一些类DeleteMe并在实体上创建:

class DeleteMe(db.Model):
  a = db.FloatProperty()

DeleteMe(key_name = '1').put()

现在我们可以阅读它:

print DeleteMe.get_by_key_name('1').a
# = None

现在我们更改模型以添加新字段

class DeleteMe(db.Model):
  a = db.FloatProperty()
  b = db.FloatProperty()

现在我们可以阅读它:

print DeleteMe.get_by_key_name('1').a
# = None and None in datastore
print DeleteMe.get_by_key_name('1').b
# = None but value b is not stored in datastore

如何区分a = None和b = None并获取存储a但未存储b的信息 - 从此开始查询非常重要。

DeleteMe.all().filter('a', None) # = 1 result
DeleteMe.all().filter('b', None) # = 0 result

0 个答案:

没有答案