【问题标题】:Multiselect dropdown/list in django admin panel only仅在 django 管理面板中的多选下拉列表/列表
【发布时间】:2014-10-12 11:47:09
【问题描述】:

django model choice option as a multi select box

Django Multiple Choice Field / Checkbox Select Multiple

Django: How can i create a multiple select form?

我正在尝试在现有 django 模型中添加多选字段。 我浏览了这三个 SOF 线程和其他一些博客,但没有找到所需的解决方案。每个人都在使用 modelForms。

我希望这个纯粹在默认的 django 管理面板中(与选择字段相同)。 该字段不会用于前端/任何形式的表单。纯粹出于管理目的。

我怎样才能做到这一点。

我可以为此创建另一个模型,然后创建多对多关系,但我想知道是否存在 类似的东西

field = models.MultipleChoiceField(choices=[a list of choices])

【问题讨论】:

    标签: python django python-2.7 django-models django-admin


    【解决方案1】:

    如果您希望能够同时选择多个值,请使用本项目的 MultiSelectField:

    https://github.com/goinnn/django-multiselectfield

    MultiSelectField 在 Django 管理页面中呈现一组可独立选择的复选框。

    【讨论】:

      【解决方案2】:

      在你的 models.py 中

      from django.db import models
      from model_utils import Choices
      awesome_choices=('Choice 1', 'Choice 2',)
      class SomeAwesomeModel(models.Model):
          myfield=models.CharField(max_length=255)
          field_not_in_front_end=models.Charfield(max_length=255, choices=Choices(*awesome_choices))
      

      在您的 forms.py 中

      from .models import SomeAwesomeModel
      from django import forms
      
      class SomeAwesomeModelForm(ModelForm):
          class Meta:
              model=SomeAawesomeModel
              fields=['myfield']
      

      这不会将您的字段放在前端,但会在管理员中显示为下拉列表。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-29
        • 2021-12-11
        相关资源
        最近更新 更多