Django管理面板中的多选下拉列表
我想在现有的Django模型中添加一个多选字段。我看过这三个StackOverflow的讨论和其他一些博客,但没有找到合适的解决方案。大家都在使用模型表单。
我希望这个功能能在默认的Django管理面板中实现(和选择字段一样)。这个字段不会在前端或任何表单中使用,纯粹是为了管理目的。
我该如何实现这个功能呢?
我可以为此创建另一个模型,然后使用多对多关系,但我在想是否有类似的东西,比如:
field = models.MultipleChoiceField(choices=[一系列选择])
2 个回答
0
如果你想同时选择多个值,可以使用这个项目的 MultiSelectField:
https://github.com/goinnn/django-multiselectfield
MultiSelectField 会在 Django 的管理页面上显示一组可以独立选择的复选框。
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']
这样做不会在前端显示你的字段,但会在后台以下拉菜单的形式出现。