问题标签 [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 投票
5 回答
5379 浏览

django - Django admin inlines - 最少表单数

在 Django 中创建自定义模型管理内联时,您可以设置两个参数extramax_num:要显示的附加表单的数量,以及允许用户附加到父对象的最大对象数。

我有一个 Question 模型,每个模型都可以有几个答案,这些答案在 Question admin 中是内联的。大多数问题都会有三个答案,所以我想默认显示三个内联;然而,当编辑一个已经有三个答案的问题时,在很可能根本没有更多答案的情况下,显示三个完整的额外字段看起来很拥挤和俗气。我想要的本质上是一个min_num参数:我想默认显示至少三个字段,如果已经少于三个答案,则为空,同时仍然允许用户添加比将显示的更多的字段。

我找到了将其添加到formsetinlines的票证,但看起来它们还没有解决。目前在 Django 1.4 中是否有任何方便的方法可以做到这一点?

0 投票
1 回答
130 浏览

django - 创建从数据库对象初始化的模型表单集实例

我目前在我的类型数据库中有一系列对象的设置CellType

我似乎需要的是inline formset,它显然简化了模型之间外键关系的处理。

我想要的是一个表单集,它为每个 CellCount 实例组成一个表单,链接到数据库中的每个 CellType 对象。

似乎把我带向了正确的方向,但我真正想要的是用正确的 CellType 对象填充 CellCountForm 的单元格字段,从而使整个事情能够整齐地打包和保存。事实证明这比我想象的要复杂一点!

模型.py

表格.py

这些小部件是隐藏的,因为它们在后台由基于 JQuery 的计算器填充。

理想情况下,我要使用的伪代码逻辑是:

0 投票
1 回答
1976 浏览

python - 测试 InlineFormset 清理方法

我有一个 Django 项目,有 2 个模型,aStructureBracket,括号有一个结构的外键(即一对多,一个结构有很多括号)。我为管理站点创建了一个TabularInline,这样结构上就会有一个括号表。我添加了一个带有一些自定义clean方法的自定义表单集来进行一些额外的验证,你不能有一个与同一结构上的另一个括号冲突的括号等。

管理员看起来像这样:

BracketInlineFormset刚刚有 clean 方法:

这一切都有效,并且验证有效。

但是现在我想编写一些单元测试来测试我复杂的表单集验证逻辑。

我第一次尝试验证已知良好的值是:

但是,这不起作用并引发异常:

Django 文档(用于表单集验证)暗示可以做到这一点。

这怎么行不通?如何测试我的内联表单集的自定义 clean()/validation?

0 投票
1 回答
542 浏览

django - 具有可变数量的空表单的表单集

我希望这很清楚 - 我认为这是一件非常标准的事情。

我想formset用许多空表单创建一个,但是每次呈现表单集时,空白表单的数量需要有所不同。例如,我可以获得 2 个空表单:

但问题是我最初不知道我想要多少个空表格。假设我想在一个内联模型表单集中呈现多个表单以响应 GET 参数。MyFormSet()现在总是给我 2 个,不多不少。

我想要这样的东西:

但显然这行不通。每次我想用不同数量的空白表单呈现表单集时,MyFormSet是否需要重新定义?formset_factory还是我错过了一些明显的东西?

0 投票
3 回答
7730 浏览

django - Django - 更改内联表单集 textInput 大小属性

我有一个只有三个字段的内联表单集:

然后我从该模型创建一个表单:

我的目标是让qty输入字段非常小(我有 30 个用于测试)。但是,当我通过内联表单集呈现此表单时,根本没有设置该属性。在我看来,这是表单集的创建:

我哪里错了?为什么qty字段大小没有变化?

0 投票
1 回答
312 浏览

django - 将错误插入 InlineFormSet 自定义验证器

我正在使用以下自定义表单验证器来确保correct通过 InlineFormSet 提交给我的应用程序的条目不超过一个。

这是有效的,因为呈现的表单对象将False在评估为时返回,.is_clean()但没有返回错误。这是我pdb在处理 的视图中使用时显示的内容POST

不应该raise forms.ValidationError("There must be one...创建一个错误条目吗?我知道answerformset.errors列表中的每个空字典都是针对每个答案形式的,但我认为会有一个non_field_error或类似的东西?

如何让这个干净的函数返回可以在模板中显示的错误?如何向其中添加 non_field_error?

0 投票
1 回答
719 浏览

django - Django 内联和 DateTimeField

我正在尝试创建简单的事件应用程序,所以我决定创建事件和一些内联事件发生:

这是forms.py:

但是,当我打开后端时,我只看到简单的输入而不是 DateTime 选择器,甚至这些字段的标签也没有说明:

截屏

有谁知道如何在内联中使用这些小部件?我究竟做错了什么?

在此先感谢,迈克尔

0 投票
1 回答
1740 浏览

html - 动态背景颜色在 IE 中不起作用

我需要根据用户输入更改的背景颜色,但它在 IE 中不起作用。

我做错了吗?有解决方法吗?

示例:http: //jsfiddle.net/3nx7G/1/

0 投票
1 回答
1297 浏览

django - 如何更改要传递给 inlineformset_factory 的表单中某个字段的查询集

我正在使用 django 额外视图:

我希望这个“关键字”字段根据我通过 url 传递给视图的 pk 进行更改。

我可以设法覆盖表单的init,但是:

  1. 我无法访问 LinkInline 中的 self.kwargs

  2. 即使我这样做了,我也不确定是否可以将实例化表单传递给 inlineformset_factory()

0 投票
2 回答
898 浏览

django - 在处理 ImageField 的 inlineformset_factory 中包含附加字段

使用 Django,我正在创建使用标准 ImageField 上传的图像的缩略图,在通常的图像文件字段旁边的单独字段“缩略图”中添加表的路径。我正在尝试如何访问缩略图路径,在该路径中使用表单集在自定义模板中呈现图像字段对象,以便我可以显示它。

我想我需要在 inlineformset_factory 中添加一个“form=CarImageForm”,然后修改我的 forms.py,但我无法弄清楚如何去做,甚至这种方法是否正确。为了清楚起见,我没有在下面的代码示例中包含我这样做的尝试。

我的最终目标是返回链接到原始图像的缩略图图像 - 已经通过 Imagefile 字段显示。

提前致谢!

模板是:

表格.py:

视图.py:

模型.py: