У меня есть класс:
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 (), который будет выполнять следующие шаги в транзакции:
- чтобы сохранить AccountTransaction
- для сохранения парной транзакции AccountTransaction (пара парных транзакций является циклической ссылкой)
- для обновления сальдо каждой из двух учетных записей - основной учетной записи и учетной записи парной транзакции
Возможно, что родителями транзакций будут их Учетные записи, но, тем не менее, кажется невозможным создать группу сущностей из этих сущностей.
Описанный в терминах СУБД, это означает, что я хочу, чтобы одна таблица имела два внешних ключа (один объект - два родителя). Что делать?
Сначала я пытался не управлять балансами, но, кажется, он медленно вычисляется каждый раз ...
Что делать?