2014-09-22 2 views
2

я на самом деле есть два вопроса, ответьте, пожалуйста, что вы можете:Есть ли способ выбрать более одного параметра в фильтрах администратора django?

Вопрос 1:

В Джанго администратора, если у вас есть list_filters = ["book"], и ваши варианты были "red carpet" & "Bingo the Dinosaur", вы можете выбрать только одну книгу на время; либо "red carpet", либо "Bingo the Dinosaur". Есть ли способ сделать это так, чтобы пользователь мог выбирать оба одновременно?

Вопрос 2:

В Джанго администратора есть способ объединить list_filter поля? поэтому, если у вас есть list_filer = [" bookname", "bookauthor"], есть ли способ сделать это так, чтобы имя книги и автора были объединены в один фильтр и вы одновременно искали его?

ответ

0

Для вашего первого вопроса:

Я думаю, что это возможно. Я проверил быструю проверку интерфейса администратора для пользователей, и если вы играете с запросом URL-адреса, вы можете комбинировать фильтры: /admin/auth/user/?is_superuser=1&is_superuser=0 будет перечислять как супер, так и не-супер пользователей.

Вам придется переопределить шаблон фильтров для фильтров, чтобы генерировать правильные URL-адреса для ваших нужд.

Я не понимаю ваш второй вопрос. Что вы подразумеваете под комбинированным? Если вы выберите элемент в первом фильтре и элемент во втором, вы будете иметь объединенную фильтрацию, не так ли?

+0

спасибо, что первым выбрал. Итак, что я подразумеваю под комбинированным, вместо двух разных списков фильтров для bookname и bookauthor, все это под одним списком, поэтому было бы похоже, что вы сразу выбираете оба параметра. С точки зрения первого, где я буду возиться с URL? – user3806832

+0

Если это все под одним списком, если у вас 10 книг и 10 авторов, это будет означать 100 элементов списка. Я до сих пор не понимаю, как это может быть полезно, может быть, вы должны предоставить картину того, что вы хотите. Для первого вопроса связанные шаблоны находятся в ['django.contrib.admin.templates'] (https://github.com/django/django/tree/master/django/contrib/admin/templates/admin). ['filter.html'] (https://github.com/django/django/blob/master/django/contrib/admin/templates/admin/filter.html) должен быть тем. –

Смежные вопросы