问题标签 [modelchoicefield]

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

django - 无论输入如何,Django ModelChoiceField 查询集都会返回相同的结果

我正在尝试以仅包含与先前选择的选项相关的那些字段的形式创建一个选择字段。到目前为止,在网站上,用户可以选择一个父选项(我调用学科)然后提交,此时他们被要求从一组字段中进行选择,这些字段是所选学科的子集。目前,这些页面都可以正常工作并呈现,除了在第二页上,无论我选择哪个学科,我都会得到相同的 6 个结果。我运行了一个打印命令,可以看到 objects.filter 返回正确的结果,但这些结果没有出现在下拉菜单中。我很难过....有什么建议吗?

我已经尝试了许多在线教程并检查了堆栈交换中的几个问题,但没有一个符合我的问题。我真的很困惑如何

返回正确的结果:

只显示相同的 6 个结果。

我的模型是:

我的观点是:

我的表格是:

最后我的模板文件是:

我没有收到错误消息,一切似乎都正常,问题是我在第二个下拉列表中只得到相同的 6 个结果,即使打印行在控制台中显示了正确的查询集。任何建议表示赞赏。

0 投票
2 回答
2018 浏览

django - 从下拉列表中选择数据并将其保存到 Django 中的数据库

我是 Django 的新手。我想在下拉列表选项中显示 food_status,因此厨师可以选择其中一个,更改它,并将其更新到数据库中。它可以更新到数据库中,但我不确定如何根据我在 models.py 中的 food_status 在模板上显示下拉列表。

有人知道该怎么做吗?

模型.py

视图.py

see_order.html

kitchen_page 模板应显示下拉列表,然后厨师可以从该下拉列表中选择 food_status,单击保存按钮,然后更新数据库。

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

django-rest-framework - 如何在我的 models.py 文件中使用 choice_fields 以及如何在我的输出中表示它们?

我正在尝试在名为“action”的模型中包含一个属性,以显示特定待办事项的操作状态。为此,我尝试创建这些文件,但它没有按照我的要求工作。

我期待一个下拉菜单或复选框,但还没有得到它们。

0 投票
1 回答
364 浏览

django - ModelChoiceField 列出元组而不是简单值

我有一个带有 ModelChoiceField 输入的 django 表单,它将结果列为元组而不是简单值。

我不知道该怎么做。

我希望得到这个:< option value="2019">2019</option >

0 投票
1 回答
486 浏览

django - 无法以 django 形式将初始值作为模型选择字段

我有一个列列表。我正在尝试更新该列表中的一行。在我选择一行后,我正在尝试更新它。选择一行后,我得到一个参数,即 table_id。table_id 在 model.py 和 forms.py 中定义。我在 djangoproject 中将 table_id 显示为 modelchoicefield,但我无法将我的实例值启动为 modelchoicefield。

更新视图.py

表格.py

模型.py

系统列

SysTables - Models.py

列创建.html

组合选择列表 (1)

组合选择更新(2)

列列表 (3)

列更新 (4)

编辑:当您检查 (1) 并按下更新按钮后,然后在图片 (2) 中,您可以看到我从 (2) 中的 (1) 获得组合作为我选择的模型选择字段。但是在 (3) 中,我的 tableid 与 (4) 中的 tableid 不匹配。我无法进入 (4) 之前在 (3) 中选择的内容。相反,我从 modelchoicefield 的数据库中获取 tableid 值的第一个元素。

我希望在 column_data 中选择 table_id 的字段并将其发送到初始值并希望将其选择为默认模型选择字段。我在其他项目中做了很多例子,但在这个项目中无法解决。提前感谢您的帮助。

0 投票
1 回答
406 浏览

python - 使用 ModelChoiceField 在 Django 表单中显示 pk 以外的字段

我正在建立一个网站,用户可以在其中上传文件并将上传内容附加到他们事先创建的项目中。上传是使用 django 表单完成的,用户可以在其中指定标题、评论等...还有一个下拉列表,用户可以在其中从他创建的现有项目中进行选择(项目列表取决于用户)作为现在下拉列表仅显示(自动生成的)项目 ID,它是模型项目的 pk。

我希望下拉菜单显示项目的名称,而不是项目 ID,这对用户来说不是很有意义。

我已经试过了

但这没有用

我也试过

最后两个选项在 {'projectname} 中显示项目名称,但是当我选择它们并提交表单时出现错误“选择一个有效的选择。该选择不是可用的选择之一。”

这是我的代码:

模型.py

表格.py

0 投票
0 回答
131 浏览

python - Django ModelChoiceField 自动选择视图传递值

我对 ModelChoiceField 有一个简单的问题,我有一个包含四个字段(名称、价格 1、价格 2、价格 3)的分类类,我添加了一个编辑按钮并且它工作正常,我在编辑页面上添加了名称作为 ModelChoiceField,我的问题是我试图在编辑时强制选择名称值,因此用户只能更改价格值。

我阅读了有关 ModelForm 的文档,这使我看到了这个 https://docs.djangoproject.com/en/2.2/ref/forms/api/#django.forms.Form.initial

我尝试了 initial= 但它并没有像我一样工作。任何动态选择值或只打印名称而不允许用户更改它的想法都会很棒。

这是我的代码,views.py

表格.py

网址.py

在模板中我只使用 {{form.name}} 。

0 投票
1 回答
84 浏览

python - 如何在 Django 模型中设置外键字段以不返回任何值?

我有一个 Django 模型,例如:

和 ModelForm 一样:

[编辑] 从 Hotel ModelForm 创建表单对象时,Django 会自动填充外键字段的值。我想阻止它。

例如:

form = Hotel()(Django 自动填充城市、州和国家值)

我希望我的 Django 模板返回下拉列表中的所有国家/地区值,但不返回州和城市下拉列表(因此我希望 Django 模板中的州和城市下拉列表保持为空)。我怎样才能做到这一点?

PS - 这样做的目的是首先加载国家/地区值,根据用户选择的国家/地区,我将加载州,然后相应地加载城市。

0 投票
1 回答
744 浏览

django - Django Forms: How to create a simple dropdown list in a form using values from an existing model

I'm new to Django and struggling to find the best/correct way to populate a dropdown list in a ModelChoiceField within a form using a list I have stored in a database. The basic code below works fine with my view passing the form as context to my template but the drop-down returns a 'dictionary' like list with the ugliness or the brackets, colons and the key name (see the attachment)

I want just the area name in this dropdown list

My questions are:

1/ The purpose of this page will be to select one of 650 areas from the dropdown list and have it highlighted on the map. Is this an appropriate way to approach the task (using a queryset within the form itself)?

2/ How do I clean up this list, it should simply read:-

and so on and so on

Your help would be forever appreciated!

Thanks,

Phil #anoobinneed