如何在Django中创建主从模型/屏幕?

26 浏览
0 Comments

如何在Django中创建主从模型/屏幕?

我经常遇到的一个问题是如何在Django中实现主从应用程序。典型的例子是发票和发票明细。\n讨论的内容包括:\n

    \n

  • 如何为保存、加载等主从模型结构化代码
  • \n

  • 视图:文件和模板,用于明细行的模板,如何动态添加
  • \n

  • 自动计算字段(如父行上的总计),这段代码放在哪里?
  • \n

\n编辑/附加内容:\n关于自动计算字段,这是我的第一个解决方案,http://pastebin.com/ZGqNnHuC,是否在模型的保存方法中更好呢?\n主模型需要从明细模型中获取值。(即首先需要计算每个明细的总计,保存每行,然后求和并保存主模型)如何更符合Django的方式而不是调用calculate()方法?

0
0 Comments

在Django中如何创建主细节(master-detail)模型/屏幕?

主细节模型是通过一对多(One-to-Many)关系关联的两个独立的模型。要在同一个表单中使用它们,您需要使用模型表单集(Model Formsets)。

动态添加行,您可以考虑使用这个答案。

自动计算字段也是同样的道理,您可以使用纯JavaScript或通过Ajax调用一个“计算视图”来完成(因此代码可以放在模板中或视图中,最终调用其他模块,如模型,具体取决于您要进行的计算)。

如果可能,需要更新链接,因为它们指向不存在的Django 1.4版本。

0