Django forms 在django admin和modelform中使用多个select实现复选框?

Django forms 在django admin和modelform中使用多个select实现复选框?,django-forms,django-views,Django Forms,Django Views,我对django还比较陌生,所以找不到一种方法在我的自定义modelforms和django admin中实现多个select-in复选框。尝试了django文档,但仍然找不到解决方案? 短暂性脑缺血发作 views.py class ProjectCreate(CreateView): model = Project fields = ['projectid', 'title', 'description', 'startdate', 'enddate', 'cost', 'Project_t

我对django还比较陌生,所以找不到一种方法在我的自定义modelforms和django admin中实现多个select-in复选框。尝试了django文档,但仍然找不到解决方案? 短暂性脑缺血发作

views.py

class ProjectCreate(CreateView):
model = Project
fields = ['projectid', 'title', 'description', 'startdate', 'enddate', 'cost', 'Project_type',
          'employeeid', 'technologies', 'clientid', 'document']


class ProjectUpdate(UpdateView):
model = Project
fields = ['projectid', 'title', 'description', 'startdate', 'enddate', 'cost', 'Project_type',
          'employeeid', 'technologies', 'clientid']
form-template.py

{% for fields in form %}
<div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
        <span class="text-danger small">{{ fields.errors }}</span>

    </div>
    <label class="control-label col-sm-2">{{ fields.label_tag }}</label>
    <div class="col-sm-10">{{ fields }}</div>
</div>
{% endfor %}
{%格式的字段%}
{{fields.errors}}
{{fields.label_tag}
{{fields}}
{%endfor%}

我们可以使用

  • 首先安装django multiselectfield
  • pip安装django multiselectfield

  • Models.py
    中,我们需要导入
    multiselectfield
    ,然后使用
    multiselectfield
    作为模式字段并传递所需参数

    from django.db import models
    from multiselectfield import MultiSelectField
    
    MY_CHOICES = ((1, 'Value1'),
                  (2, 'Value2'),
                  (3, 'Value3'),
                  (4, 'Value4'),
                  (5, 'Value5'))
    
    #choices can be a list also
    
    class MyModel(models.Model):
    
        #....
    
        my_field = MultiSelectField(choices=MY_CHOICES,
                             max_choices=3,
                             max_length=3)
    

  • 现在,在管理面板中,当您打开
    MyModel表单时,您将看到5个复选框,其中您最多只能选择3个定义的
    max\u choices=3

    如果使用模板呈现
    modelform
    ,则只需在
    Forms.py
    中指定字段

    如果您从另一个表中获取下拉数据,请参考此