问题标签 [inline-formset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1937 浏览

django - 内联 FormSet 同时调用多个实例

我无法显示具有多个实例对象的内联表单集。我想要所有的列表Owner和所有它们的内联表单集Pet,都是一页。

下面的代码有效,但一次调用 1 个所有者对象。有什么建议么?

这是一个来自以下的新问题:Django DatabaseError "more than one row returned by a subquery used as an expression" Editable related fields to object

模型.py

表格.py

视图.py

HTML 宠物名.html

更新

HTML

0 投票
0 回答
46 浏览

django - 如何在 form.Is_valid() 之前从 InLineFormSet 中删除一个表单?姜戈

我有一个内联表单集:

我喜欢在我的is_valid()命令之前从 formsetItens 中删除一个表单。

我怎样才能做到这一点?

0 投票
1 回答
945 浏览

django - django 内联表单集之间的验证

我很惊讶这个问题以前没有被问过(或者至少我没有找到它)。我有一个带有两个内联表单集的 ModelAdmin,并且想在它们之间进行交叉验证。

问题很简单,答案可能不会。如何在两个表单集之间进行交叉验证?谢谢!

0 投票
2 回答
398 浏览

django - 详细信息页面上的多对多关系表单

我有以下(简化的)模型:

我想显示一个 Lot 详细信息页面,其中列出了有关该批次的所有信息,包括与该批次相关的想法。这很简单。

但是,此外,我希望用户能够从此页面为该批次添加新想法。提交后,用户应该返回到 Lot 详细信息页面,他们的新想法现在已成为列表的一部分。

我已经为新想法尝试了内联表单集,但这仅显示为现有想法的下拉列表,它不允许创建新想法。另外,这似乎有点矫枉过正,因为我只需要用户能够添加一个新想法,而不是编辑/删除已经提交的想法。而且我也不需要他们能够编辑其他地段信息,只添加一个相关的想法。

我知道可能有一种简单的方法可以实现这一目标,但我现在有点卡住了。

任何帮助,将不胜感激。

谢谢!

编辑:我不是指 Django 管理员。这适用于面向用户的表单。

0 投票
2 回答
1089 浏览

django - ForeignKey 到 Django-MPTT 树在管理内联中生成 SQL 请求风暴

我面临与 django-mptt 相关的戏剧性性能问题。这是我的情况:

  • 我有一个测验课
  • 我有一个带有 FK 到 Quizz 和一个 FK 到 Category 类的 Question 类
  • 我有一个属于 MPTT 树的 Category 类(因为我的分类是分层的)

现在,我有一个包含 7 个问题的实际测验和一个管理视图,该视图将问题显示为 QuizzAdmin 视图的内联,并且内联带有 Category as Select 字段。

然后麻烦来了:

  • 我已经将问题加载为 prefetch_related (甚至尝试让 questions__category 像这样加载)
  • 尽管如此,我还是看到我的调试工具栏显示了在模板渲染时发生的一系列 16 个查询 (template/edit_inline/tabular.html)。在我的开发笔记本电脑上,这意味着加载这一切需要 1 分钟(在我的带有实际数据的测试环境中,这意味着 10 分钟!)

这 16 个查询是以下的连续查询:(请注意我正在使用虚拟类别进行测试)

知道我可以做些什么来减少查询数量吗?

提前谢谢洛杉矶

[编辑 1]

有一个愚蠢的事情解释了问题的一半:我的类别的 __unicode__() 正在查看对象的父母的 __unicode__() (幸运的是我的树只有 2 级深)

现在在我的最佳配置中,对于 8 个条目,我仍然有 9 次“SELECT ... FROM quizz_category”(没有 WHERE 子句),据说是为了构建 Select 字段的选择。

任何人都知道如何缓存这个查询并且只运行一次?

注意:我当前的最佳配置是在 QuestionInline 中有 .select_related('category')


以下是调试工具栏对这些查询的说明(都一样):

选择“quizz_category”。“id”,“quizz_category”。“parent_id”,“quizz_category”。“name”,“quizz_category”。“name_en”,“quizz_category”。“name_fr”,“quizz_category”。“lft”,“ quizz_category"."rght", "quizz_category"."tree_id", "quizz_category"."level", "quizz_category"."description", "quizz_category"."description_en", "quizz_category"."description_fr" FROM "quizz_category" ORDER BY "quizz_category"."tree_id" ASC, "quizz_category"."lft" ASC 3,68816058264% 1,66 Sel Expl 连接:默认隔离级别:读取已提交事务状态:在事务 /Library/Python/2.7/site-packages/django/contrib/staticfiles/handlers.py 中调用(72) return self.application(environ, start_response) /Library/Python/2.7/site-packages/django/contrib/admin/widgets.py in render(263) output = [self.widget.render(name, value, *args, **kwargs)] 49

{{ field.contents|换行符}}

50 {% else %} 51
{{ field.field.errors.as_ul }} 52
{{ field.field }} 53
{% endif %} 54
55
{% endfor %} /Library/Python/2.7/site-packages/ django/contrib/admin/templates/admin/edit_inline/tabular.html

0 投票
1 回答
1271 浏览

django - 带有 can_delete=True 和 can_order=True 的 Django inline_formset 不起作用

我有一个表格,其中模型和外键模式表示为内联表单集。我正在节省订购的表单集的时间。事实上,每次我尝试删除一个时,它都会成倍增加。

在forms.py中:

在views.py中:

我一直在寻找,但什么也没找到。有人有解决方案吗?

谢谢!!

0 投票
1 回答
1116 浏览

django - 访问表单集中的特定表单,无需对索引进行硬编码

有没有办法从模板中的内联表单集中访问特定表单,而无需对索引进行硬编码?我知道遍历表单集的常用方法是执行以下操作:

但是由于模板上的一些细节(我有多个表单集,应该并排显示在一个表上,另一个里面for),如果我可以通过索引访问每个表单会更好。我可以通过对索引进行硬编码来做到这{{ formset.0 }}一点,比如

有没有办法做到这一点?

0 投票
1 回答
2149 浏览

python - 更改非父模型的 inlineformset 中模型字段的查询集

我正在使用内联表单集,并且需要在实例化表单集时更改非父模型的表单字段之一的查询集。

根据直到我输入视图代码才确定的 foo 的值,我需要为表单集中的所有表单更改 BarForm 中的“other_model”字段的查询集。有没有办法做到这一点?

0 投票
2 回答
2220 浏览

python - django 忽略表单集中更改的字段

我有以下型号:

我有一个视图,它允许用户通过动态表单集为某个配方添加任意数量的“UsesIngredient”模型。组属性自动填充为对用户隐藏。

问题是当用户在表单集中添加一个新表单但不填写任何字段时,我不希望保存该表单。但是,django 仍然尝试保存表单,因为“组”属性已“更改”(因为它已在创建额外表单时自动填写)。

有没有办法解决这个问题?

谢谢!

0 投票
0 回答
635 浏览

python - Django Admin - 使用用户内联创建模型

嗨,我有几个模型与用户具有 OneToOne 关系。

有一种方法可以在模型创建管理页面中进行内联用户创建吗?

模型.py

管理员.py

这样我就有了:

在 /admin/organization/employee/ 'UserInline.fk_name' 中配置不当是指模型 'auth.User' 中缺少的字段 'user'。

我知道内联模型需要与其他模型具有 FK 关系。

我应该自定义用户模型吗?我是否遗漏了什么或无法完成此实现?

谢谢!