Python 正确使用重复属性?
我需要允许许多项目的订单/采购,例如Python 正确使用重复属性?,python,google-app-engine,google-cloud-datastore,python-2.7,Python,Google App Engine,Google Cloud Datastore,Python 2.7,我需要允许许多项目的订单/采购,例如 class Purchase(db.Model): '''a completed transaction''' item = db.ReferenceProperty(Item, repeated=True)) 此处重复的关键字合法且使用方式正确吗?我的其他选择是什么?我应该用重复的stringproperty来代替吗 item\u id=model.StringProperty(repeated=True) 还是具有重复的键属性? 谢谢有一个:
class Purchase(db.Model):
'''a completed transaction'''
item = db.ReferenceProperty(Item, repeated=True))
此处重复的关键字合法且使用方式正确吗?我的其他选择是什么?我应该用重复的stringproperty来代替吗
item\u id=model.StringProperty(repeated=True)
还是具有重复的键属性?
谢谢有一个:
它像python列表一样使用:
p = Purchase()
p.items = [item1.key(), item2.key(), item3.key()]
但在查询中,它看起来像一个单值字段。ListProperty的每个值都单独编制索引
下面的查询将返回包含项目1
的所有采购:
Purchase.all().filter('items =', item1.key())
下面的查询将返回包含item1
或item2
的所有采购:
Purchase.all().wilter('items IN', [item1.key(), item2.key()])
如果您需要为多个ListProperty编制索引,请不要忘记熟悉。有一个:
它像python列表一样使用:
p = Purchase()
p.items = [item1.key(), item2.key(), item3.key()]
但在查询中,它看起来像一个单值字段。ListProperty的每个值都单独编制索引
下面的查询将返回包含项目1
的所有采购:
Purchase.all().filter('items =', item1.key())
下面的查询将返回包含item1
或item2
的所有采购:
Purchase.all().wilter('items IN', [item1.key(), item2.key()])
如果您需要为多个ListProperty编制索引,请不要忘记熟悉。Hi Nick.:-)这种混淆似乎出现在NDB和db之间。在NDB中使用repeated=True,而在db中使用ListProperty。感谢您的回答和评论。对于我的模型来说,最自然的是重复的Keyproperty,我会试试它是否有效,因为我喜欢NDB处理键的方式及其干净的语法。我甚至不知道
NDB
。我非常感谢你的评论!你好,尼克。:-)这种混淆似乎出现在NDB和db之间。在NDB中使用repeated=True,而在db中使用ListProperty。感谢您的回答和评论。对于我的模型来说,最自然的是重复的Keyproperty,我会试试它是否有效,因为我喜欢NDB处理键的方式及其干净的语法。我甚至不知道NDB
。我非常感谢你的评论!