Django架构与交互式模型

时间:2011-12-02 23:50:38

标签: django architecture data-modeling

我正在尝试开发基于Django的book-keepign web应用程序。我正在尝试使用双入口会计系统,所以我的模型是:

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

我的问题是多部分:由于FullTransaction和HalfTransactions需要以原子方式保存(或者架构是否应该不同?),因此保存FullTransaction和HalfTransaction的业务逻辑在哪里? django教程没有太多的业务逻辑来解决这些问题,我不确定覆盖save方法来保存其他对象是对的。

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

1 个答案:

答案 0 :(得分:-1)

  

保存FullTransaction和HalfTransaction的业务逻辑在哪里?

在一个应用程序中。

  

FullTransaction和HalfTransactions需要以原子方式保存(架构是否应该不同?)。

这是一个问题吗?

  

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

这取决于性能要求。

对于速度,预先聚合的数据很重要。

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

由于您未提供效果信息,因此无法确定其是否合适或不合适。