我们说我有这样的模型:
+-----------+--------+--------------+
| Name | Amount | Availability |
+-----------+--------+--------------+
| Milk | 100 | True |
+-----------+--------+--------------+
| Chocolate | 200 | False |
+-----------+--------+--------------+
| Honey | 450 | True |
+-----------+--------+--------------+
现在在第二个模型中,我希望有一个字段(也称为' Amount'),它总是等于具有Availability = True的行的总和。例如:
+-----------+-----------------------------------------------+
| Inventory | Amount |
+-----------+-----------------------------------------------+
| Groceries | 550 #this is the field I want to be dependent |
+-----------+-----------------------------------------------+
这可能吗?或者有更好的方法吗?
答案 0 :(得分:0)
当然这是可能的:我会推荐两件事之一:
正如一个人所评论的那样“在飞行中”这样做。然后存储在django cache mechanisim中,以便它只计算一次(保存数据库/计算资源)。
创建一个进行求和的数据库视图;再次它将让数据库缓存结果/ etc。节省资源。
那就是说,我认为在一个非常繁忙的网站上的一个非常大的记录集上需要#1或2。