django 中是否可以使用相关模型?

Are related models possible in django?

假设我有这样一个模型:

+-----------+--------+--------------+
| 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 |
+-----------+-----------------------------------------------+

这可能吗?或者有更好的方法吗?

这当然是可能的:我会推荐以下两件事之一:

  1. 按照一个人的评论执行此操作 "on the fly"。然后存储在 django 缓存机制中,以便它只偶尔计算一次(节省 database/computation 资源)。

  2. 创建一个进行求和的数据库视图;它将再次让数据库缓存 results/etc。以节省资源。

也就是说,我认为只有在非常繁忙的站点上的非常大的记录集上才需要 #1 或 2。