问题标签 [modelmultiplechoicefield]

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

django - Django ModelMultipleChoiceField 给了我一个 ProgrammingError

我想得到你的帮助,因为我遇到了一个让我觉得有点奇怪的问题。

我正在使用Django 1.11.16

我的 forms.py 文件中有这个类:

然后,在我的 views.py 文件中:

最后在我的模板中,我只有:

我不明白为什么,当我的表格中有这条线时,它可以工作:

但是当我用这个替换这一行时:

我得到这个问题:

你有什么主意吗 ?

编辑:添加缓存设置

0 投票
2 回答
1402 浏览

django - 使用 MultipleChoiceFilter 时动态重新加载选项

我正在尝试构建一个MultipleChoiceFilter选项是相关模型上存在的一组可能日期(DatedResource)。

到目前为止,这是我正在使用的...

当它显示在 html 视图中时...

在此处输入图像描述

起初这很好用,但是如果我创建DatedResource具有新的不同值的新对象,date我需要重新启动我的网络服务器,以便在此过滤器中将它们作为有效选择。我相信这是因为该choices列表在网络服务器启动时被评估一次,而不是每次我的页面加载时。

有没有办法解决这个问题?也许通过一些创造性的使用 a ModelMultipleChoiceFilter?

谢谢!

编辑: 我尝试了一些简单的ModelMultipleChoice用法,但遇到了一些问题。

HTML 表单显示得很好,但是选择不是过滤器接受的值。我得到"2019-04-03" is not a valid value.验证错误,我假设是因为这个过滤器需要datetime.date对象。我考虑过使用该coerce参数,但是ModelMultipleChoice过滤器不接受这些参数。

根据 dirkgroten 的评论,我尝试使用链接问题中的建议。这最终会像

这也不是我想要的,因为现在的 HTML 表单现在是 a) 显示str每个的表示DatedResource,而不是DatedResource.date字段和 b) 它们不是唯一的(例如,如果我有两个DatedResource相同的对象date,它们的str表示都出现在列表。这也是不可持续的,因为我有 200k+ DatedResources,并且在尝试将它们全部加载时页面挂起(与values_list过滤器相比,它能够在几秒钟内拉出所有不同的日期。

0 投票
1 回答
47 浏览

django - App 适用于 ModelChoiceField 但不适用于 ModelMultipleChoiceField

我正在尝试在 django 页面中检索用户输入数据。但我无法选择多项选择领域。我尝试了多种没有缓解的方法。

  • self.fields['site'].queryset=forms.ModelMultipleChoiceField(queryset=sites.objects.all())

  • self.fields['site'] = forms.ModelChoiceField(queryset=sites.objects.filter(project_id=project_id))

  • self.fields['site'].queryset = forms.MultipleChoiceField(widget=forms.SelectMultiple,choices=[(p.id, str(p)) for p in sites.objects.filter(project_id=project_id)])

表格.py

类 SearchForm(forms.Form):

视图.py

def site_list(请求,project_id):

我希望得到一个多选字段,但我最终得到了这个错误:

异常值:

'地点'

异常位置:/home/clyde/Downloads/new/automatic_annotator_tool/django_app/search/forms.py init,第 18 行(第 18 行:self.fields['site'].queryset = forms.MultipleChoiceField(widget=forms.SelectMultiple , 选择=[(p.id, str(p)) for p in sites.objects.filter(project_id=project_id)]))

0 投票
1 回答
37 浏览

django - 当表单字段为 ModelMultipleChoiceField 时,如何在视图中接收 modelform_instance.cleaned_data['ManyToMany field']?

情况如下:

我有一个模型如下:

许可模型具有三个对象:

我有另一个模型:

然后我使用 Interest 构建一个 ModelForm:

我有一个看法:

在interest_template.html 我有:

当我没有检查任何一个表单字段并提交它时,我希望看到 None 。

当我检查任何或所有表单字段并提交表单时,我希望看到“Not None”。

但是,我看不到我期望发生的事情。

0 投票
1 回答
136 浏览

python - Django 使用 ModelMultipleChoiceField 保存 ManyToManyField 模型

所以我知道有一些类似的问题,但没有一个解决方案对我有用。我试过 save(commit=false) 和 save_m2m 以及其他一些东西,但我得到了错误

无论如何,这是我的代码:views.py

模型.py

表格.py

我希望用户能够创建服务并选择默认 django 用户模型中的 1 个或多个成员。

0 投票
0 回答
87 浏览

python-3.x - Django SessionWizardView ModelMultipleChoiceField 问题

我正在实施formtools.wizard.views并且在第一个表单上,当我选择一个选项并移至下一步时,我有一个ModelMultipleChoiceField例外

如果不是 queryset._prefetch_related_lookups:
AttributeError: 'NoneType' 对象没有属性 '_prefetch_related_lookups'

注意:要求 python 3.7 Django==2.2.7 django-formtools2.2

0 投票
0 回答
18 浏览

django - 如何在 django 中使用选择域

我在数据库中有一个表,我在其中存储国家,我在模板和 forms.pt 中动态传递这些国家我有一个像这样的 ChoiceField(widget=forms.Select,required=True) 但我没有从这个字段中得到值但是当我将它更改为 CharField 时,我得到了价值。

form.py country = forms.ChoiceField(widget=forms.Select,required=True)

views.py users_meta.candidate_country = ProfileForm.cleaned_data['country']

0 投票
1 回答
551 浏览

python - Django:ModelMultipleChoiceField 正在将底层模型的 max_length 验证器应用于所选结果的总长度

我正在使用 ModelMultipleChoiceField 来允许用户选择要删除的某些模型对象。It works fine when a single object is selected, but when multiple objects are selected then a validation error is triggered: "Ensure this value has at most 50 characters". 50 个字符的限制来自基础模型的 max_length 属性。我不确定为什么会发生这种验证,因为我正在选择现有的模型对象,更不确定为什么它们会组合我所有选择的字符长度而不是单独验证每个选择。我还注意到,在总计字符长度时,为每个选定的对象计算大约 20 个额外字符。任何帮助表示赞赏。

这是我的代码:

模型:

形式:

查看:(忽略过滤器代码,这是与另一个功能相关的正在进行的工作)

模板:(再次请忽略过滤器相关的代码)

错误

0 投票
0 回答
44 浏览

python - Django Admin ModelMultipleChoiceField 表单更新不起作用

当我创建一个新公司时,我可以添加用户而不会出现任何错误。但是,当我尝试更新公司时,我选择了默认用户已经使用initialwith 字段(我不确定这是一个好方法)。我收到此错误

选择一个有效的选项。3 不是可用的选择之一

我认为我的默认选择方法不好。

模型.py

表格.py

管理员.py