问题标签 [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 回答
935 浏览

django - 内联表单集中的图像字段未填充

我有这段代码:

ImageField除了in之外,表单已正确初始化PhotosFormSet

0 投票
1 回答
1427 浏览

django - 用于一次编辑多个相关记录的 Django Inline formset - 正确的方法?

使用内联表单集时,如何进行分页?我正在使用 django 1.1。我所处的情况是用户需要能够快速轻松地编辑相关对象(这就是我认为我应该使用内联表单集的原因)。但是,可以编辑超过一百个对象,这构成了一个非常大的表单集,因此分页是有意义的。

有没有更好的方法来做到这一点?

谢谢伯特

0 投票
1 回答
678 浏览

django - 显示带有两个外键的 Django 内联表单集的正确选择文本

我已经成功地使用内联表单集创建了一个配方输入表单,该表单由一个配方表单(只是一个模型表单)和一个 RecipeIngredient 表单集组成。这些型号是:

我想将成分更改为以下内容:

其中成分是:

我没有改变 views.py 来设置内联表单集:

一切都很完美......直到我点击了配料下拉菜单,只看到每个配料条目重复的“配料对象”选项,而不是我正在寻找的标题值。

有什么方法可以保持这种直截了当的方法并在下拉菜单中显示 Ingredient.title 吗?保存、显示等是否会有其他问题?

如果做不到这一点,我需要做什么才能完成这项工作?

谢谢大家。

0 投票
2 回答
13723 浏览

python - Django 内联表单集的初始数据

我已经整理了一个表格来保存食谱。它使用表单和内联表单集。我的用户拥有包含食谱的文本文件,他们希望剪切和粘贴数据以使输入更容易。我已经弄清楚如何在处理原始文本输入后填充表单部分,但我无法弄清楚如何填充内联表单集。

似乎解决方案几乎在这里说明了:http: //code.djangoproject.com/ticket/12213但我不能把这些部分放在一起。

我的模型:

配方表单是使用 ModelForm 创建的:

以及视图中的相关代码(解析出表单输入的调用被删除):

如上所述,FormSet() 为空,我可以成功启动页面。我尝试了几种方法来为表单集提供我确定的数量、unit_of_measure 和成分,包括:

  • 设置初始数据,但这不适用于内联表单集
  • 传递字典,但会产生管理表单错误
  • 玩过init,但我在那里有点超出我的深度

任何建议都非常感谢。

0 投票
2 回答
3216 浏览

django - 如何检测表单集在模板中是否有任何错误?

感谢 django 中出色的内联模型表单集,我有一个非常高级的表单,其中包含 4 个内联表单集。在模板中,我在选项卡中显示每个表单集。一切都很顺利,但如果该选项卡中的表单集有任何验证错误,我想将选项卡涂成红色。所以我尝试了这个:

但它不起作用,因为 forms.*Set.errors 是一个包含空字典的列表(因此它总是返回 True),例如 [{}, {}, {}] (表单集中的表单数量与空的数量相同formset.errors 中的字典

我认为一种解决方案可能是将 BaseInlineFormSet 子类化并添加 has_errors 方法或其他方法,然后将该子类基用于我的所有表单集。还有其他建议吗?谢谢!

0 投票
1 回答
2361 浏览

django - 如何清理 InlineFormSet 中的某个字段?

我需要清理内联表单集中的特定字段,但我不知道该怎么做。

我尝试过使用表单集def clean(self)方法,但不知道在哪里保存清理后的值。如果我尝试将清理后的值设置为forms[0].data['field']“此 QueryDict 实例是不可变的”错误。

在“正常”形式def clean_fieldXY(self)中,它使用 I return cleaned_value.

请帮忙。

0 投票
1 回答
3027 浏览

django - Django:使用 inlineformset 对相关模型进行内联编辑

我仍然坚持使用同一页面上相关模型的内联树状编辑。我有三个模型,A,B和C。

在 admin.py 我正在做类似的事情

我希望当我编辑/添加模型 A 时,我应该能够内联添加模型 B,并添加模型 B 的相关模型 C 条目。我正在尝试内联表单集,但不知道如何将它们用于我的目的。此外,我发现这个关于同一问题的旧讨论。但同样,由于我是 Django 新手,我不知道如何让它工作。

0 投票
1 回答
2357 浏览

django - 在 django 中制作 inlineformset 是必需的

我是 django 的新手(直到现在,我使用的是 symfony PHP 框架)。我的问题是:我有一个模型事件和模型日期。Date 具有 Event 的外键,因此 Event 可能(或应该)有一个或多个 Dates。

现在我想要一个表单来创建事件,这个表单应该包括一个用于添加一个相应日期的子表单(如果事件有多个日期,则应该稍后添加更多日期)。

我使用 inlineformset 来实现 Date 子表单,但是如果没有输入 Date,则不会发生错误,并且 Event 正在保存而没有 Date。我想要的只是使这个 inlineformset 成为必需,或者说,必须至少(并且只有)一个 inlineformset。

我发现了这些问题,但没有一个答案对我有帮助:

对我有什么提示吗?

编辑:我需要这个用于前端,而不是后端。第一个链接涵盖了管理后端。

EDIT2:添加了一些源代码

MandatoryInlineFormSet.py:

事件.py:

事件/new.html:

最好的问候,sewid

0 投票
2 回答
3164 浏览

django - 实例化内联表单集时指定查询集

我在views.py中有以下内容来生成一个页面,该页面显示用户“资格”的内联表单集

这很好用,但是,我想创建一个formset仅包含某些“UserQualification”对象(即,仅标记为某种类型的对象),因此当用户访问此页面时,他们仅编辑其资格的子集. 这个参考似乎是我想要的: http: //docs.djangoproject.com/en/1.1/topics/forms/modelforms/#sharing-the-queryset。它处理 modelformset_factory,但是 inlineformset_factory 是基于先验的,所以我认为同样的事情应该可以工作:

但是进入这个页面只会给出一个 TypeError: init () got an unexpected keyword argument 'queryset'。该参考文献中列出了两种方法,但我都遇到了麻烦。

0 投票
7 回答
35715 浏览

django - 具有内联模型表单或表单集的基于 django 类的视图

我有以下型号:

我知道这是可能的:

然后通过标准视图处理。

现在我想知道,是否有一种方法可以使用基于类的视图(而不是管理界面)来实现相同的目标(意思是:使用内联来添加/编辑属于账单的项目)。