问题标签 [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.
python - Django:如何使用 formset extra 更改标签?
我使用 formset 来生成额外的字段,但我不知道如何更改 formset 生成的额外字段的标签。
我的代码:
install.html 模板:
例如,如果“Number_of_Lines”= 2,那么我期望下一个带有标签的表单,
django - Django Formset 没有正确清理/保存
我正在使用 inlineformset_factory 创建表单集。父对象是特征集,子对象是特征项。我在前端使用 'django-dynamic-formset' jQuery 插件来动态添加/删除 formset 表单。
虽然表单集中的每个表单都按预期提交了正确的数据,但cleaned_data 仅包含表单的ID。
看法:
形式:
楷模:
输出到控制台:
django - Django formset 和外键保存
我几乎尝试了我在互联网上找到的所有想法,但仍然无法正常工作,
评估和技能是另一种模型。在我的应用程序中,我想为每项技能创建表单来对它们进行排名。为此,我使用了 django formset,我从 RankedSkillForms 创建了一个 formset,其中包含通过 Skill.objects.all() 获得的初始数据。
一切正常,直到我尝试保存。
它以 u'Skill Object' 字符串的形式获取初始数据(技能)。(我删除了 unicode,因为在该技能名称出现之前而不是 u'Skill Object' 字符串之前)
错误消息是“无法分配“u'Skill object'”:“RankedSkill.skill”必须是“Skill”实例。”
django - django ModelFormSet 返回错误,想要显示除空表单外的所有表单
使用 django 1.4,我有一个没有初始实例的 ModelFormSet,extra 和 max 设置为 6:
当用户第一次访问该页面时,我使用 jquery 只显示一个空白表单(字段集)。用户可以按一个按钮来显示其余的表格。如果表单返回验证错误,我可以使用 jquery 查找具有类 errorlist 的字段集并显示所有这些字段集。但是,我还想显示任何包含有效数据的字段集。我可以检查每个字段集中的所有元素以查看它们是否具有值,但这似乎很笨拙。Django 知道表单何时发生更改,所以我想我会为这些表单添加一个前缀,以便我可以在 html 中发现它们:
问题是我覆盖 clean() 的方式以某种方式导致提交的数据在表单返回错误时丢失(它返回时没有初始数据)。如果我通过首先检查验证错误来提前返回,如下所示:
,数据仍然存在,但当然不会添加前缀。我想过使用 is_bound 而不是 has_changed(),但似乎所有的表单从一开始都是绑定的,我猜是因为它们是 ModelForms。
任何想法为什么覆盖 BaseModelFormSet.clean() 添加前缀会导致返回表单的初始数据丢失?
django - Django formset 验证所有表单
我做了一个这样的表单集。
而且我有一种奇怪的方式来使用一个类在视图中显示它来处理所有处理。但它是这样的...
问题是当我在视图中呈现此表单时,即使表单集中为空的表单也无法验证。报告“此字段为必填项”。在所有高度字段旁边。即使是空的。
我的理解是空表单应该总是通过验证。我查看了管理表单数据,一切看起来都很好。
如果我将 required 更改为 False,这意味着当我尝试将表单集保存到数据库时,我最终会遇到 IntegrityErrors。
django - django-dynamic-formset 和 django-autocomplete-light - 自动完成不适用于新行
我将自动完成光与 django-dynamic-formset 一起使用。对于动态添加的行,自动完成不起作用 - 它显示带有自动完成的弹出窗口,但将其粘贴到最后一个静态创建的行。如果我选择列表中的项目 - 它会将值插入最后一个静态创建的行,而不是当前行。对于静态创建的表单集 autocomplete-light 效果很好。
这是我的表单和表单集:
这是我的 js formset 创建:
我使用 Django 1.5、django-dynamic-formset 1.2、autocomplete-light 1.1.23
django - Django 显示一个复杂的表单集
我正在尝试在表格中显示复杂的 modelForm formset。我的模型是这样的:
... Parent 中的每个对象都有许多 Children - 在本例中为 20 个。CHOICES1、CHOICES2 和 CHOICES3 的每个组合都有一个实例。我想要一个表格来编辑var
给定父母的每个孩子的字段。所以我的表格是这样的:
我可以循环这个并制作一个包含 1 列和 20 行的漂亮表格,但是我如何制作一个正方形,例如“1”和“2”只是标签,但 var1.1.1 ... var3.3.3 是表单集中的var
表单域,表单集中的每个表单有一个表格单元格。
(原谅ASCII)。
我可以遍历这些并在每个第三个单元格之后插入一个。但我真的不希望输入混淆(即表单提交时会发生什么错误 - 我如何确保表单集中表单的正确顺序?)
我可以对其进行硬编码,但是随着项目的进行,选择的数量可能会有所不同。
那么处理这个问题的最佳方法是什么?我的一个想法是避免使用模型表单并创建另一个包含 20 个字段的表单,称为 1.1.1 到 3.3.3。并自己手动完成,但有什么更简单的吗?
django - 在 Django 中为表单集中的每个表单赋值
我正在尝试创建一个表单集,每个表单集都包含一个输入字段。这将有一些动态数量的元素,一旦提交表单,输入的文本将作为“标签”分配给关联的对象。这可能听起来有点令人困惑,所以让我们看看我正在尝试制作的表单类:
如您所见,我想传递申请者的 id 表单,然后在收到 post 请求后,通过调用每个表单 saveTags 来更新该申请者对象的标签。这是我正在处理的代码:
问题是我不知道如何从申请人查询查询集中创建带有 id 的初始表单集。理想情况下,我可以遍历查询集并将申请人.id 发送到每个表单,但我不确定如何执行此操作。我也觉得我应该提到表单集应该具有与申请者查询中的申请人完全相同的表单数量。
django - 如何从视图中设置 django formsets _all_ 错误?
描述 :
好的,所以 formset 是一组表单。我基本上有一些数字,或者我从中获得这个数字的表格,然后我将它与来自表单集中的所有表格的总和进行比较。这就是为什么我在视图中进行部分验证。如果这些数字不匹配,我想设置错误,而不是设置为表单集中的特定表单,而是设置所有错误。
我从视图中设置普通表单错误没有问题:
但是我如何将所有错误分配给表单集,这是否可能,或者我必须将此错误分配给表单集中的表单?
django - Django 模型集排除
假设我有一个包含 2 个字段的模型:user
和money
. 我只想编辑用户的钱字段。
如果我创建一个modelformset
并从表单中排除例如user
字段,那么这是否意味着如果有人创建了一个包含用户字段的虚假表单,它将忽略它并使用有界实例保存?
或者我还需要验证这样的事情吗?例如,如果有人仍然在其中包含带有新用户的新表单,我该怎么做?