问题标签 [django-multiwidget]

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 回答
1494 浏览

django - django multivaluefield & multiwidget - 使一个可选

这与我之前的一个问题有关。

我想要一个包含 Choice 和 TextInput 小部件的 MultiValueField。如果用户从 Choice 中选择“OTHER”,则应该保存 TextInput 的值。否则,应该保存 Choice 的值。到目前为止,我有以下代码:

但是,每当我尝试在 TextInput 中保存不包含值的内容时,都会收到验证错误“此字段是必需的”。尽管上面有“required=False”kwarg,但还是这样。

我试图在 clean 函数中添加一些逻辑;如果 Choice 小部件的值为“OTHER”,则忽略 TextInput 的小部件:

但这没有效果。

有什么建议么?

0 投票
1 回答
773 浏览

django - 多小部件是否可以使用两个不同的模型字段

我真的一直在拔头发来完成这件事。我的一个模型中有 2 个整数字段,如下所示:

由于上述两个值是相互关联的,我希望它们使用自定义小部件。现在重点是,我希望这些字段使用单个自定义小部件(MultiWidget),但我也希望将值保存在数据库中的单独列中[不想解析内容,而且搜索功能将使用以上字段分开,所以只想单独存储它们]。

自定义小部件仅接受来自单个模型字段的值,因此我决定创建一个自定义表单字段以在上述模型的 ModelForm 中使用。

现在这就是我的表单的外观。

上面的表单基本上隐藏了模型字段,只显示了minmax使用自定义小部件的字段,如下所示:

现在,一切正常,值分别保存到各自的字段中。但是当我试图用一个TestModel对象的实例编辑表单时,问题就出现了。在编辑的情况下,当呈现表单时,实际值存储在隐藏字段minmax输入字段中,而 minmax 字段没有值。[当然,因为它是一个表单域。]

我有什么选择

  1. 从和字段中预填充minmax表单字段的值。[注意:不使用 Javascript 或 jQuery]minmax

  2. 或者创建一个使用来自两个不同模型字段的值的 MultiWidget。

任何帮助,将不胜感激。谢谢。

0 投票
1 回答
265 浏览

python - 为什么我的 MultiValueField 子类没有调用 `compress` 方法?

DurationField在 Django 中实现了一个自定义,它存储一个整数,表示持续时间(以秒为单位)。我还定义了一个自定义的 multiwidget,它接受五个不同的数字输入(表示周数、天数、小时数、分钟数和秒数)。

我已经设法让它在管理员中工作,并且decompress似乎按预期工作;当我更改解释器中的值并保存它们时,它们会正确显示在五个字段中。但是,compress似乎没有被调用;当我尝试更改值(或只是保存表单而不更改它们)时,我Enter a whole number.IntegerField. 看起来好像整个值列表(例如[u'0', u'1', u'2', u'0', u'0'])正在传递给to_python

我觉得我错过/忽略了一些小东西,但我想我已经盯着我的代码太久了,无法弄清楚它可能是什么。

这是我的model_fields.py

这是admin.py

这是models.py,以防万一:

0 投票
1 回答
452 浏览

django - 对具有只读附加数据的多对多字段使用 multiwidget

我有以下型号:

如您所见,我存储在中间模型中的数据是只读的。它是在创建实例时由系统自动生成的。所以我希望能够使用管理员中的多小部件来选择参与者。(当您拥有大量用户时,使用内联真的很难)。有什么办法吗?

0 投票
1 回答
303 浏览

python - 在 Django 自定义 MultiWidget 中如何获取子小部件 id

在 Django 中,如何获取添加到 custom 的子小部件的idMultiWidget,例如,如果我想将 JavaScript 代码附加到呈现的小部件,我该怎么做?

0 投票
1 回答
532 浏览

python - Django multiwidget 和验证问题

我一直在子类化 multiwidget 以使用以下代码创建与 NumberInput 字段同步的 HTML5 范围滑块:

当我实例化它并以如下形式使用它时:

,小部件工作正常:更改滑块或数字输入确实会更改其他字段。但是,在执行 POST 时,表单无法验证,并且我在 form.errors 中收到此错误(对于 3 个参数):

[{'value': ['输入一个数字。']}, {'value': ['输入一个数字。']}, {'value': ['输入一个数字。']}]

单独的小部件运行良好并且表单被正确绑定。但不是在multiwidget中。我究竟做错了什么?我添加了

但这仍然不起作用。

谢谢你的帮助。

0 投票
1 回答
1528 浏览

django - Django 多值字段

我正在为一些 Django 苦苦挣扎,我想在其中制作一个与 MultiWidget 结合的自定义 MultiValueField。我读过杂项。教程,但似乎我遗漏了一些东西 - 其中大多数都很旧,我怀疑这可能是原因。

我正在使用 Django 1.10。

目标:创建一个为表单提供三个下拉列表的自定义字段。到目前为止,对下拉列表的内容没有要求 - 首先我只想在我的表单中查看它们 :-)

我有一个 fields.py 文件,其中包含:

然后是一个widgets.py,包含:

表格.py:

这在迁移时工作正常,但我尝试查看表单,我收到此错误:

我曾尝试在 MyCustomField 中实现此属性,但随后出现另一个错误:

据我了解,这些属性应该由 forms.MultiValueField 提供 - 因此我不需要自己编写它们。

在模板中,我只是使用“{{ form }}”,因为我不想使用 Django 的默认布局。

我在这里发疯了,希望有人能够帮助走上正确的道路:-)

亲切的问候,卡斯帕

0 投票
1 回答
177 浏览

django - 如何拆分表单字段以在 Django 中显示多个值

My Journey 模型包含两个字段,距离和时间:

我正在尝试创建一个 Modelform,其中时间字段将被拆分以显示“小时”、“分钟”和“秒”的输入。然后,我希望压缩这些值以返回一个值。目前我的 forms.py 看起来像这样:

我在TypeError: __init__() got an unexpected keyword argument 'attrs'尝试运行服务器时收到。有谁可以帮助我了解如何解决这个问题?我一直在网上寻找解决方案一段时间,但到目前为止我仍然很难过。

0 投票
0 回答
22 浏览

python - 我可以从 django 中的另一个视图函数发送 POST 请求来查看函数吗?

我正在创建一个 Django 多向导表单。我需要通过发布请求将数据发送到已经创建的视图这是向导表单:

我设置了这样的 URL:

和视图

0 投票
0 回答
16 浏览

django-models - 在 Django 模型中以另一个模型的缩略图作为属性进行多选

有没有办法将 Django 模型的图像作为属性传递给另一个 Django 模型中的多选选择字段?如果没有,有没有办法在另一个模型的 ModelForm 中将模型的缩略图显示为多个选择选项?