【发布时间】:2012-04-25 19:09:22
【问题描述】:
我正在开发一个 GAE Python 项目,其中包含项目和项目交易。
一开始,我们尝试使用带有引用属性的物品种类和交易种类,但它使查询变得复杂。
所以我们切换到一个多合一版本,交易数据直接存储在商品中,这导致很多属性没有被使用,因为并非所有商品都与交易有关。
我希望它可以加快应用程序的速度,但这是最好的方法吗?
知道:
- 我们预计会有大量交易和更多项目。
- 我们需要检查交易状态(实际存储在商品的状态中)。
- 每件商品只能进行一次交易,但有多种不同类型的交易。
有没有更好的解决方案?
编辑:
问题是我主要使用事务属性查询项目,但一次最多只有 2 个 where 子句,而且我经常更新事务。
其实我有这样的东西:
类 MyItem(db.Model):
owner = db.ReferenceProperty(MyUser)
descr = db.StringProperty()
status = db.IntegerProperty() # contains item status / transaction status
tx_actor = db.emailProperty()
tx_token = db.StringProperty()
latest_tx_date = db.DateTimeProperty()
【问题讨论】:
标签: python google-app-engine google-cloud-datastore