1

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

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

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

当我将此添加到管理部分时,我希望有一个带有多项选择的复选框。这可能吗。我看过的所有解决方案也没有在管理页面的上下文中播种。我只需要 Django 管理页面来处理它,因为我没有制作任何自定义的、面向公众的页面。

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

PS。我对 Django 比较缺乏经验,所以我需要看看我需要在模型和管理员中导入什么。

谢谢

4

2 回答 2

3

如果您知道如何为标准模型表单执行此操作,那么您也知道如何在管理页面中执行此操作,因为它们基于普通表单。

只需将表单定义为正常,然后告诉管理员将其用于您的模型:

class MyModelAdmin(admin.ModelAdmin):
    form = MyFormWithTheMultipleSelect
于 2011-03-01T11:57:22.277 回答
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 %}
于 2011-03-02T00:38:46.183 回答