我在Google App Engine数据存储区中为我的数据库模型创建了一个新属性.
旧:
class Logo(db.Model): name = db.StringProperty() image = db.BlobProperty()
新:
class Logo(db.Model): name = db.StringProperty() image = db.BlobProperty() is_approved = db.BooleanProperty(default=False)
如何查询未设置'is_approved'值的徽标记录?我试过了
logos.filter("is_approved = ", None)
但它不起作用.在数据查看器中,新字段值显示为.
根据有关查询和索引的App Engine文档,对于没有属性值的实体和对其具有空值的实体之间存在区别; 和"没有过滤属性的实体永远不会被查询返回".因此无法为这些旧记录编写查询.
一篇有用的文章是更新模型的模式,它说目前唯一支持查找缺少某些属性的实体的方法是检查所有这些属性.本文的示例代码显示了如何遍历大量实体并更新它们.