我是django的新手。我正在制作简单的库存应用程序。这是我的模特:
class Received(models.Model):
item = models.ForeignKey(Item)
weight = models.DecimalField(max_digits=8, decimal_places=2)
....
class Sold(models.Model):
item = models.ForeignKey(Item)
weight = models.DecimalField(max_digits=8, decimal_places=2)
....
class Inventory(models.Model):
item = models.OneToOne(Item)
weight_received = ?
weight_sold = ?
timestamp = models.DateTimeField()
....
class InventoryHistory(models.Model):
# I have no idea
item = models.ForeignKey(Item)
date = models.DateField(auto_now=True)
total_weight = models.DecimalField(max_digits=8, decimal_places=2)
我想做的是:
1。)我在Received
或Sold
上输入数据Inventory
应该自动更新(其中Inventory.weight_in
是{的} {1}}和Received.weight
是Inventory.weight_out
的和。)
2.)我对它们进行了删除,Sold.weight
应自动更新
3。)我会对它们进行编辑,Inventory
应自动更新
有可能,怎么样?
这是另一个关于我缺乏数据库知识问题的问题。我是否有必要制作一个Inventory
我可以在哪里跟踪每日的库存历史记录?
谢谢...
答案 0 :(得分:0)
您可以使用signals。特别是django.db.models.signals.post_save
和django.db.models.signals.post_delete
。对于跟踪历史记录,我建议使用django-reversion。