如何在 Django 中制作主从模型/屏幕?

jor*_*gos 7 django django-templates django-models

我总是冲突的一件事是如何使用 Django 实现主从应用程序。典型的例子是 Invoice 和 InvoiceLines。

要讨论的事情是:

  • 如何构建用于保存、加载等主模型和详细模型的代码
  • 视图:文件和模板、详细信息行模板、如何动态添加
  • 自动计算字段(如父行的总计),此代码在哪里?

编辑/添加:

关于自动计算字段,这是我的第一个解决方案,http://pastebin.com/ZGqNnHuC,在模型的保存方法中不是更好吗?

主模型需要来自详细模型的值。(即首先需要计算每个细节的总计,保存每一行,然后求和并保存主数据)它是如何以比调用calculate()方法更Django的方式制作的?

fur*_*ins 5

  • 主模型和详细模型是通过一对多关系相关的两个独立模型。要将它们合并到同一表单中,您必须使用模型表单集(更多详细信息请参见此处)。
  • 要动态添加行,您可以考虑这个答案
  • 这同样适用于自动计算字段,您可以使用纯 javascript 或对“计算视图”的 ajax 调用来完成此操作(因此代码位于模板或视图中,最终调用其他模块(例如模型),这实际上取决于哪个你在做计算吗)