我有一个班级:
class AccountTransaction(db.Model):
account = db.ReferenceProperty(reference_class=Account)
tran_date = db.DateProperty()
debit_credit = db.IntegerProperty() ## -1, 1
amount = db.FloatProperty()
comment = db.StringProperty()
pair = db.SelfReferenceProperty()
所以,我想要的是创建一个Save()方法,该方法将在事务中运行以下步骤:
交易的父母可能是他们的账户,但似乎无法建立这些实体的实体组。
根据RDBMS描述,这意味着我希望一个表有两个外键(一个实体 - 两个父项)。怎么办?
起初,我试图不管理余额,但每次计算它似乎都很慢......
怎么办?
答案 0 :(得分:1)
由于您的帐户实体不能全部位于同一实体组中,因此您无法在单个事务中执行更新。有一些技巧可以做到这一点,特别是在你遇到的“汇款”案例中 - 事实上,我写了a blog post关于这个确切的主题。