Django admin复选框具有多个选择项
我有一个Django应用程序。这是很基本的 在模型中,我有一个用于项目的类和一个用于组的类。这些组对项目具有多对多的权限:Django admin复选框具有多个选择项,django,checkbox,django-admin,manytomanyfield,Django,Checkbox,Django Admin,Manytomanyfield,我有一个Django应用程序。这是很基本的 在模型中,我有一个用于项目的类和一个用于组的类。这些组对项目具有多对多的权限: items = models.ManyToManyField(item, verbose_name="list of items", max_length=100000, blank=True) 当我将其添加到管理部分时,我希望有一个带有多个选择的复选框。这可能吗。我看过的所有解决方案也没有在管理页面的上下文中使用。Django管理页面是我所需要的全部,因为我没有制作任何
items = models.ManyToManyField(item, verbose_name="list of items", max_length=100000, blank=True)
当我将其添加到管理部分时,我希望有一个带有多个选择的复选框。这可能吗。我看过的所有解决方案也没有在管理页面的上下文中使用。Django管理页面是我所需要的全部,因为我没有制作任何定制的面向公众的页面
用多个复选框替换多个选择框的最简单和最简单的解决方案是什么
另外,我对Django比较有经验,所以我需要看看我需要在模型和管理中导入什么
谢谢如果您知道如何为标准modelform执行此操作,您也知道如何在管理页面中执行此操作,因为它们基于常规表单 只需将表单定义为普通表单,然后告诉管理员将其用于您的模型:
class MyModelAdmin(admin.ModelAdmin):
form = MyFormWithTheMultipleSelect
如果您知道如何为标准模型表单执行此操作,那么您也知道如何在管理页面中执行此操作,因为它们是基于普通表单的 只需将表单定义为普通表单,然后告诉管理员将其用于您的模型:
class MyModelAdmin(admin.ModelAdmin):
form = MyFormWithTheMultipleSelect
基于重写管理模板的方法
/myproject/templates/admin/myapp/mymodel/change\u form.html
{%extends“admin/change\u form.html”%}
{{block.super}}
$(文档).ready(函数(){
myselect=$(“#id_M2M_字段_名称”);
//在这里,您可以使用多重选择进行操作,
//并将其转换为复选框或其他内容。
})
{%endblock%}
基于覆盖管理模板的方式
/myproject/templates/admin/myapp/mymodel/change\u form.html
{%extends“admin/change\u form.html”%}
{{block.super}}
$(文档).ready(函数(){
myselect=$(“#id_M2M_字段_名称”);
//在这里,您可以使用多重选择进行操作,
//并将其转换为复选框或其他内容。
})
{%endblock%}
我仍然无法让它工作,所以我决定现在我将使用:filter\u horizontal=('items',)我仍然无法让它工作,所以我决定现在我将使用:filter\u horizontal=('items',)
{% extends "admin/change_form.html" %}
{{ block.super }}
<script type='text/javascript' src='/media/js/jquery.js'></script>
<script>
$(document).ready(function(){
myselect = $("#id_M2M_FIELD_NAME");
// here you manipulating with your multiple select,
// and convert it to checkboxes, or something else.
})
</script>
{% endblock %}