2011-12-02 61 views
0

我正在尝试开发一个基于Django的book-keepign web应用程序。我试图用一个复式会计制度,所以我的机型有:Django架构与交互式模型

  • 帐户
    • DATE_CREATED
    • 所有者
    • opening_balance
    • reconciled_balance
  • FullTransaction
    • 日期
    • 备忘录
    • check_no
  • HalfTransaction
    • ForeignKey的(FullTransaction)
    • debit_flag
    • CURRENT_BALANCE
    • reconciled_flag

我的问题是多:(?或应架构是不同的),在这情况下节省FullTransaction和HalfTransaction贝隆因为FullTransaction和HalfTransactions需要有原子保存业务逻辑。 django教程没有太多的商业逻辑来解决这类问题,我不确定覆盖save方法来保存其他对象是否正确。

另外,将余额作为交易的一部分进行存储是不合适的,因为如果编辑或插入旧的交易,它需要更新所有较新的交易?

回答

-1

节省FullTransaction和HalfTransaction的业务逻辑属于哪里?

在应用程序中。

FullTransaction和HalfTransactions需要以原子方式保存(如果架构不同?)。

这是一个问题?

另外,将余额作为交易的一部分存储是不合适的,因为如果编辑或插入旧的交易,它需要更新所有较新的交易?

这取决于性能要求。

对于速度,预先汇总的数据很重要。

为简单起见,原子数据很重要。在这种情况下,您必须重新计算聚合。

由于您没有提供性能信息,因此无法判断它是否合适或不合适。