仅在django管理面板中的多选下拉列表/列表

时间:2014-08-19 11:33:19

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

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管理面板中(与选择字段相同)。 此字段不会用于前端/任何类型的表单。纯粹是出于管理目的。

我怎样才能做到这一点。

我可以为此创建另一个模型,然后是ManytoMany关系,但我想知道是否存在 像

这样的东西

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

2 个答案:

答案 0 :(得分:1)

在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']

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

答案 1 :(得分:0)

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

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

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