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 に答える