问题标签 [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.
django - Django admin inlines - 最少表单数
在 Django 中创建自定义模型管理内联时,您可以设置两个参数extra
和max_num
:要显示的附加表单的数量,以及允许用户附加到父对象的最大对象数。
我有一个 Question 模型,每个模型都可以有几个答案,这些答案在 Question admin 中是内联的。大多数问题都会有三个答案,所以我想默认显示三个内联;然而,当编辑一个已经有三个答案的问题时,在很可能根本没有更多答案的情况下,显示三个完整的额外字段看起来很拥挤和俗气。我想要的本质上是一个min_num
参数:我想默认显示至少三个字段,如果已经少于三个答案,则为空,同时仍然允许用户添加比将显示的更多的字段。
我找到了将其添加到formset和inlines的票证,但看起来它们还没有解决。目前在 Django 1.4 中是否有任何方便的方法可以做到这一点?
django - 创建从数据库对象初始化的模型表单集实例
我目前在我的类型数据库中有一系列对象的设置CellType
。
我似乎需要的是inline formset,它显然简化了模型之间外键关系的处理。
我想要的是一个表单集,它为每个 CellCount 实例组成一个表单,链接到数据库中的每个 CellType 对象。
似乎把我带向了正确的方向,但我真正想要的是用正确的 CellType 对象填充 CellCountForm 的单元格字段,从而使整个事情能够整齐地打包和保存。事实证明这比我想象的要复杂一点!
模型.py
表格.py
这些小部件是隐藏的,因为它们在后台由基于 JQuery 的计算器填充。
理想情况下,我要使用的伪代码逻辑是:
python - 测试 InlineFormset 清理方法
我有一个 Django 项目,有 2 个模型,aStructure
和Bracket
,括号有一个结构的外键(即一对多,一个结构有很多括号)。我为管理站点创建了一个TabularInline
,这样结构上就会有一个括号表。我添加了一个带有一些自定义clean
方法的自定义表单集来进行一些额外的验证,你不能有一个与同一结构上的另一个括号冲突的括号等。
管理员看起来像这样:
BracketInlineFormset
刚刚有 clean 方法:
这一切都有效,并且验证有效。
但是现在我想编写一些单元测试来测试我复杂的表单集验证逻辑。
我第一次尝试验证已知良好的值是:
但是,这不起作用并引发异常:
Django 文档(用于表单集验证)暗示可以做到这一点。
这怎么行不通?如何测试我的内联表单集的自定义 clean()/validation?
django - 具有可变数量的空表单的表单集
我希望这很清楚 - 我认为这是一件非常标准的事情。
我想formset
用许多空表单创建一个,但是每次呈现表单集时,空白表单的数量需要有所不同。例如,我可以获得 2 个空表单:
但问题是我最初不知道我想要多少个空表格。假设我想在一个内联模型表单集中呈现多个表单以响应 GET 参数。MyFormSet()
现在总是给我 2 个,不多不少。
我想要这样的东西:
但显然这行不通。每次我想用不同数量的空白表单呈现表单集时,MyFormSet
是否需要重新定义?formset_factory
还是我错过了一些明显的东西?
django - Django - 更改内联表单集 textInput 大小属性
我有一个只有三个字段的内联表单集:
然后我从该模型创建一个表单:
我的目标是让qty
输入字段非常小(我有 30 个用于测试)。但是,当我通过内联表单集呈现此表单时,根本没有设置该属性。在我看来,这是表单集的创建:
我哪里错了?为什么qty
字段大小没有变化?
django - 将错误插入 InlineFormSet 自定义验证器
我正在使用以下自定义表单验证器来确保correct
通过 InlineFormSet 提交给我的应用程序的条目不超过一个。
这是有效的,因为呈现的表单对象将False
在评估为时返回,.is_clean()
但没有返回错误。这是我pdb
在处理 的视图中使用时显示的内容POST
:
不应该raise forms.ValidationError("There must be one...
创建一个错误条目吗?我知道answerformset.errors
列表中的每个空字典都是针对每个答案形式的,但我认为会有一个non_field_error
或类似的东西?
如何让这个干净的函数返回可以在模板中显示的错误?如何向其中添加 non_field_error?
django - Django 内联和 DateTimeField
我正在尝试创建简单的事件应用程序,所以我决定创建事件和一些内联事件发生:
这是forms.py:
但是,当我打开后端时,我只看到简单的输入而不是 DateTime 选择器,甚至这些字段的标签也没有说明:
有谁知道如何在内联中使用这些小部件?我究竟做错了什么?
在此先感谢,迈克尔
django - 如何更改要传递给 inlineformset_factory 的表单中某个字段的查询集
我正在使用 django 额外视图:
我希望这个“关键字”字段根据我通过 url 传递给视图的 pk 进行更改。
我可以设法覆盖表单的init,但是:
我无法访问 LinkInline 中的 self.kwargs
即使我这样做了,我也不确定是否可以将实例化表单传递给 inlineformset_factory()
django - 在处理 ImageField 的 inlineformset_factory 中包含附加字段
使用 Django,我正在创建使用标准 ImageField 上传的图像的缩略图,在通常的图像文件字段旁边的单独字段“缩略图”中添加表的路径。我正在尝试如何访问缩略图路径,在该路径中使用表单集在自定义模板中呈现图像字段对象,以便我可以显示它。
我想我需要在 inlineformset_factory 中添加一个“form=CarImageForm”,然后修改我的 forms.py,但我无法弄清楚如何去做,甚至这种方法是否正确。为了清楚起见,我没有在下面的代码示例中包含我这样做的尝试。
我的最终目标是返回链接到原始图像的缩略图图像 - 已经通过 Imagefile 字段显示。
提前致谢!
模板是:
表格.py:
视图.py:
模型.py: