Django - 内联表单和外键

时间:2011-06-07 03:47:41

标签: django inline-formset

我有一个允许用户创建项目估算的应用。估计值包含基本的客户端信息(名称,地址,电话号码等)以及我生成的自定义主键值。现在,我还有两个其他模型用于列出工作所需的估计产品和人工。这两个模型与具有外键的“主要”估计模型相关联。对于这两个模型,我将使用内联表单集,因为默认情况下,它们通过外键链接到另一个记录。

我想知道是否可以同时创建主要估算(基本数据)记录作为两个内联表单?它似乎不起作用(好吧,我无法使它工作),因为两个内联表单集链接到的外键还不存在,因为它也只是正在创建。

将此分为两个步骤会更好吗:步骤1)创建&保存基本数据(从而创建可链接的主键)步骤2)添加通过主记录的外键链接它们的产品和人工记录。看起来这似乎是一个糟糕的UI设计(有两个步骤)。

思想?

谢谢!

1 个答案:

答案 0 :(得分:0)

  

我想知道是否可以在两个内联表单的同时创建主要估算(基本数据)记录?

事实上,这是管理员(django.contrib.admin)为内联表单执行此操作的方式。

如果您不想深入研究该代码,可以尝试使用transactions将所有数据库更改捆绑在一起,这样您就可以根据需要将它们全部回滚。当然,这假设您的后端数据库支持事务。