问题标签 [formsets]
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 错误/值对于类型字符变化而言太长(1)
我正在尝试将新的表单集字段添加到我的模型/表单,但是当我想保存它时,我收到一个错误“对于类型字符变化(1)的值太长”。
任何人都可以帮助我吗?我是 django 的初学者。当我在视图中添加“study_1”字段时,此错误开始出现。
这是我的代码:
视图.py:
表格.py:
模型.py:
和edit_profile.html:
谢谢你的帮助!:)
javascript - 对简单的 js jquery 代码进行计数器处理?
按下按钮后,TOTAL_FORMS 剂量更新,我有相同的数字 1,我所有的行都像下面的报价一样。
我添加了 3 个表格,但总数更新了。
我需要的。
UPD: 你怎么说我添加 HTML 代码。主要问题我使用 djnago 生成所有数据我尝试创建 js fiddle
django - Django Formset 只有一个表单有数据,其余的有空数据
我正在使用 Django Formsets 来拥有多个表单。最初我只有一个表单,然后我使用 JavaScript 动态添加更多表单。当我提交这个表单时,request.POST 对象只有第一个表单的数据。顺便说一句,如果我将 formset 设置为显示两个初始表单并 submit ,则两者都有。当我使用 javaScript 追加新问题时,就会出现问题
python - 为什么 Django formset 中的 min_num 会导致 n+1 formset 被渲染
在 Django 表单集 (v. 1.9) 中,formset_factory 函数中有一个选项 min_num ,它指定表单集中的最小表单数。
视图可能如下所示:
模板可能如下所示:
然而,Django 总是会再渲染一个表单,然后在 min_num 参数中给出。
这是一般 Django/Python 设计的原因,从零开始计数,还是我误解了 min_num 参数的使用?据我了解,在文档中,它说该变量仅用于验证。
django - Django 表单集安全性
我在 Django 表单集中注意到了一些东西:
每个 formset.form 都有一个隐藏字段,其中包含正在编辑的模型的 id。只需更改此 ID 并提交,默认的表单集clean()
或save()
方法不会引起注意。
我认为跟踪原始表单集查询集中的对象并在保存时比较它们不会太复杂。我想知道为什么 Django 还没有这样做?
至于我,我正在检查表单集保存的权限,例如:
还有人注意到这个问题吗?我很想知道你是如何解决它的。
python - 传递给 django formset 的附加变量
我有一个非常特殊的问题,关于从某种形式创建一个表单集。问题是,表单必须具有未公开数量的字段,因此我想将一个变量传递给该表单,该变量将从数据库中获取适当的模型,并在表单的init方法中创建适当的字段。
型号如下:
如您所见,我需要将此 ID 传递到表单中。当它是单个表单时,一切都可以,但是我找不到有关如何使用需要变量的表单创建表单集的任何信息。有任何想法吗?
PS:至于为什么...不要问,我只需要那样做,相信我。我是个工程师。
python - Formset:保存模型不起作用
整天都在努力完成这项工作。我有一个主要模型是入门。一个条目可以包括多个班次。这是存储工作时间的应用程序的一部分。这是创建条目的视图:
当我尝试输入带有班次的条目并按保存时,它会终止并显示:“/time_manager/entry/create/ NOT NULL 约束处的 IntegrityError 失败:shift_shift.entry_id”。我试图弄清楚班次出了什么问题,所以我将保存班次的块注释掉(从“if len(errors)”到“return HttpResponseRedirect.”),以便它返回到带有表单的视图. 然后我将 {{ shifts }} 放入我的模板中,看看里面有什么。当我这样做时,它以:“NoReverseMatch at /time_manager/entry/create/ Reverse for 'edit' with arguments '()' and keyword arguments '{'pk': None}' not found. 1 pattern(s)试过: ['time_manager/entry/shift/edit/(?P(\d+))/$']" 就好像我试图使用 {% url %} 标记引用的视图没有' 不存在。所以我猜测当我尝试保存表单集的表单时会出现问题。但是,我一遍又一遍地阅读 django 文档,这是存储表单集表单的方式,不是吗?
django - 使用 formset 更新多个对象
我是 CS 的第一年,如果我完全不清楚,请原谅我的菜鸟。
我的“产品”模型中有几个对象。现在我想更新所有对象上的相同字段,即具有不同值的“数量”字段。但是,我不想像使用 updateview 那样点击进出每个产品,而是想列出所有产品并为每个产品设置值并同时更改它们。据我所见,“FormSet”应该可以解决问题吗?
我的类别模型看起来像这样(分配给产品)
我的产品模型如下所示:
我更新单个产品的更新视图如下所示:
我阅读了有关 formset 的文档,但我必须承认,我对之后如何实际使用它并没有感觉更聪明.. 有人可以帮忙吗?
django - 保存分页的 django 表单集时抛出 MultiValueDictKeyError
我已经删除了之前的问题,并发布了一个新问题,因为在进行了几次简化后,我使代码更简洁,以减少可能原因的数量(具体来说,我已经删除了重组部分)
我使用 Django 无限分页(Twitter 样式)来呈现 Django 表单集表。一切正常,直到我尝试保存用户输入并以MultiValueDictKeyError: "u'form-10-id'"
. 请注意不是“u'form- 0 -id'”,是10(十),表示问题不是缺少隐藏字段引起的。
模板:
处理 AJAX POST 请求以保存数据的视图
如果我{% paginate my_formset %}
从模板中删除从而放弃无休止的分页,一切都很好。我试图交换行{% paginate my_formset %}
和{{ my_formset.management_form }}
,但仍然没有成功(在这种情况下,Django 抛出了一个看似合理的Missing management form
错误。
直观上看,核心原因是因为分页不允许渲染第十种形式,而且很明显,Django 找不到隐藏字段。但我不知道如何解决它
django - 将初始值传递给 django formset 中的 ChoiceField
我不知道如何用初始数据填充 django ChoiceField。最好希望在视图中进行,因为它会根据我传递给视图的参数而改变。
视图.py
'food' 字段和 'amt' 字段填充,但 'units' 字段 - 这是一个 html Select 输入不填充初始值。我也需要定义选择吗?并且初始值是其中之一吗?
表格.py