Django管理面板中的多选下拉列表

3 投票
2 回答
6810 浏览
提问于 2025-04-18 17:47

django模型选择选项作为多选框

Django多选字段/复选框选择多个

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

这样做不会在前端显示你的字段,但会在后台以下拉菜单的形式出现。

撰写回答