我想在Datastore中保留一份“事物”列表。这些“事物”不需要除姓名以外的其他信息,这些名称必须是唯一的,即对于实体,它们可以被视为key_name
。在这种情况下,我不需要任何明确的属性/字段用于实体类型(因为'thing'的名称可以保存在实体的key_name
内)。这可能吗?怎么样?另一种方法是通过为名称提供专用字段/属性来复制这条信息。
class EntityKindWithNoProperty(db.Model):
name = db.StringProperty()
我觉得这种方法是重复的信息。你觉得怎么样?
答案 0 :(得分:3)
这有效
class Empty(ndb.Model):
pass
e = Empty(id="somestring")
e.put()
对于唯一性,您可以提前生成ID,然后使用numeric keys逐个使用它们。或者,根据您的使用模型,get_or_insert。
答案 1 :(得分:0)
您是否考虑过拥有列表属性的单个实体?
class ThingSingleton(db.Model):
things = db.StringListProperty()
最佳使用方法取决于您的查询模式和事物的预期基数。