Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正确使用重复属性?_Python_Google App Engine_Google Cloud Datastore_Python 2.7 - Fatal编程技术网

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
。我非常感谢你的评论!