我有一个Django应用程序。非常基本的。
在模型中,我有一个项目类和一个组类。这些组的项目有多对多:
items = models.ManyToManyField(item, verbose_name="list of items", max_length=100000, blank=True)
当我将此添加到管理部分时,我想要一个带有多个选择的复选框。这可能吗。我所看到的所有解决方案都不会在管理页面的上下文中播种。 Django管理页面是我需要它完成的所有工作,因为我没有制作任何自定义的,面向公众的页面。
使用多个复选框替换多选框时,最简单,最简单的解决方案是什么。
PS。我对Django比较有经验,所以我需要在模型和管理员中看到我需要导入的内容。
由于
答案 0 :(得分:3)
如果您知道如何为标准模型执行此操作,您也知道如何在管理页面中执行此操作,因为它们基于普通表单。
只需将表单定义为正常,然后告诉管理员将其用于您的模型:
class MyModelAdmin(admin.ModelAdmin):
form = MyFormWithTheMultipleSelect
答案 1 :(得分:1)
基于覆盖管理模板的方式
/myproject/templates/admin/myapp/mymodel/change_form.html
{% 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 %}