【问题标题】:How to make master-detail model / screen in Django?如何在 Django 中制作主细节模型/屏幕?
【发布时间】:2013-03-16 19:04:15
【问题描述】:

我经常遇到的一件事是如何用 Django 实现一个主从应用程序。典型的例子是 Invoice 和 InvoiceLines。

要讨论的事情是:

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

编辑/添加:

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

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

【问题讨论】:

    标签: django django-models django-templates


    【解决方案1】:
    • 主模型和详细模型是由One-to-Many relationship 关联的两个独立模型。要将它们合并到同一个表单中,您必须使用 Model Formsets(更多 details here)。
    • 动态添加行你可以考虑this answer
    • 这同样适用于自动计算字段,您可以在纯 javascript 中或通过 ajax 调用“计算视图”来完成(因此代码在模板或视图中,最终调用其他模块,如模型,它真的取决于你在做什么计算)

    【讨论】:

    • 如果可能,需要更新链接,它会转到不存在的 Django 1.4
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    相关资源
    最近更新 更多