我在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文档查询和索引,也有实体之间的区别 没有 一个属性值,以及那些具有 空 值,它; 和“没有筛选属性的实体永远不会由查询返回”。因此,不可能为这些旧记录编写查询。
有用的文章是更新模型的模式,它说,查找缺少某些属性的实体的当前唯一支持的方法是检查所有实体。本文的示例代码显示了如何循环浏览大量实体并更新它们。