Django模型中的下拉列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django模型中的下拉列表相关的知识,希望对你有一定的参考价值。

我想在Django models.py中创建一个字段,它将作为下拉列表呈现,用户可以从那里选择选项。

如果我有5个选择:

  • 绿色
  • 蓝色
  • 红色
  • 橙子
  • 黑色

我应该如何在models.pyForms.py中编写代码,以便模板将其呈现为下拉元素?

答案

在模型choices中使用https://docs.djangoproject.com/en/1.8/ref/models/fields/#choices选项指定CharField或IntegerField,并使用ModelForm https://docs.djangoproject.com/en/1.8/topics/forms/modelforms/

另一答案

从模型到模板:

models.朋友

COLOR_CHOICES = (
    ('green','GREEN'),
    ('blue', 'BLUE'),
    ('red','RED'),
    ('orange','ORANGE'),
    ('black','BLACK'),
)

class MyModel(models.Model):
  color = models.CharField(max_length=6, choices=COLOR_CHOICES, default='green')

forms.朋友

class MyModelForm(ModelForm):
    class Meta:
        model = MyModel
        fields = ['color']

views.朋友

class CreateMyModelView(CreateView):
    model = MyModel
    form_class = MyModelForm
    template_name = 'myapp/template.html'
    success_url = 'myapp/success.html'

template.html

<form action="" method="post">{% csrf_token %}
    {{ form.as_p }}
    <input type="submit" value="Create" />
</form>

或仅显示您的选择字段:

{{ form.color }}

以上是关于Django模型中的下拉列表的主要内容,如果未能解决你的问题,请参考以下文章

在 Django 中,根据模型中其他字段中选择的值删除选择字段下拉列表中的选项

动态 html 使用 django 应用程序中 JSON 链接中的数据选择下拉列表

Django 3 - 使模型的 FK 下拉列表仅显示当前用户的数据

来自数据库的 Django 动态下拉列表

如何使用列表中显示的相关项目的下拉列表使特定模型类的 Django contrib Admin 更改列表可编辑?

在 Django 模板的 Bootstrap 4 多选下拉列表中显示多选字段值