我有两个实体,物品和城市。我如何像一对多关系那样建模,以便它表示一个项目可以“拥有”许多城市?我想用ReferenceProperty做它,但它似乎是一个列表,并且没有键AFAIK列表的属性。你能告诉我如何建模以表示这种关系吗?
创建新对象时,如果使用referenceproperty作为集合创建新对象,则可以创建类似一对多的对象:
class ItemLocation(db.Model):
reference = db.ReferenceProperty(Item,
collection_name='matched_cities', verbose_name='Cities')
但这不是我想要的。我想要一个方便的建模,我可以迭代城市的特定项目,即
{% for city in item.matched_cities %}
你能告诉我应该怎么做吗?
谢谢
答案 0 :(得分:3)
你绝对可以拥有一系列钥匙。将其添加到您的项目模型中:
cities = db.ListProperty(db.Key)
然后,您可以使用
从数据存储中检索这些城市itemsCities = ItemLocation.get(item.cities)