Django admin复选框,带有多个选择

时间:2011-03-01 11:07:01

标签: django checkbox django-admin manytomanyfield

我有一个Django应用程序。非常基本的。

在模型中,我有一个项目类和一个组类。这些组的项目有多对多:

items = models.ManyToManyField(item, verbose_name="list of items", max_length=100000, blank=True)

当我将此添加到管理部分时,我想要一个带有多个选择的复选框。这可能吗。我所看到的所有解决方案都不会在管理页面的上下文中播种。 Django管理页面是我需要它完成的所有工作,因为我没有制作任何自定义的,面向公众的页面。

使用多个复选框替换多选框时,最简单,最简单的解决方案是什么。

PS。我对Django比较有经验,所以我需要在模型和管理员中看到我需要导入的内容。

由于

2 个答案:

答案 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 %}