我正在尝试为Django应用程序创建一个模型来处理发票,但我不确定正确的方法。发票必须是给定时间点的值的快照。如果您今天更改商品的价格,则不会影响之前的发票。我还需要为每张发票保留完整的修订历史记录。
发票最多可包含40个不同的属性,其中大部分属性为空。发票也有不同的地址,例如发件人,收件人和邮政地址。发票还包含行,每行都有自己的值。
答案 0 :(得分:0)
您需要设置一个事务表来记录发票中的更改。此表可以包含指向不同地址的地址表的链接。您可能希望保存此发票 交易表到客户表,因此您可以随时获得交易点。
Django内置了用于保存日期的字段,因此您可以使用不同位置的字段自动记录事务表中的日期。 Django中这些字段的示例是:
from django.db import models
class MyModel(models.Model):
created = models.DateField(auto_now_add=True)
modified = models.DateField(auto_now=True)
我的建议是在Client表中创建一个链接作为事务表的Many-to-Many
。并且每次发票/更改。加入这个领域。然后,您可以按日期,最近等参考交易表...以获取您需要的信息。您可以为当前发票等设置BooleanField