Django административный флажок с множественным выбором - PullRequest
1 голос
/ 01 марта 2011

У меня есть приложение Django.Довольно простой в этом.

В модели у меня есть класс для предметов и класс для групп.Группы имеют много-много для элементов:

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

Когда я добавляю это в раздел администратора, я бы хотел иметь флажок с множественным выбором.Это возможно.Все решения, на которые я смотрел, также не относятся к контексту страницы администратора.Страница администратора Django - это все, что мне нужно для работы, поскольку я не создаю никаких пользовательских общедоступных страниц.

Какое самое простое и простое решение для замены поля множественного выбора на несколько флажков?1008 *

PS.У меня относительно небольшой опыт работы с Django, поэтому мне нужно посмотреть, что мне нужно импортировать в модель и администратора.

Спасибо

Ответы [ 2 ]

3 голосов
/ 01 марта 2011

Если вы знаете, как это сделать для стандартной модели, вы также знаете, как это сделать на странице администратора, поскольку они основаны на обычных формах.

Просто определите форму как нормальную, а затем попросите администратора использовать ее для вашей модели:

class MyModelAdmin(admin.ModelAdmin):
    form = MyFormWithTheMultipleSelect
1 голос
/ 02 марта 2011

способ, основанный на переопределении шаблонов администратора

<code>/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 %}
...