list_filter на странице администратора django для поля внешнего ключа - PullRequest
0 голосов
/ 11 февраля 2012

использовать сторонние поля в list_filter страницы администрирования django

Предположим, у меня есть модели

   class Company():
         name varchar(50)
         field1 varchar(50)

   class Client()
          name varchar(50)
          company ForeignKey(Company)

Теперь, как я могу реализовать фильтр на модели клиента для field1 на странице администратора django

Я пытался list_filter = ['company_ field1', 'company _name'] , но не работал.Любые решения?

Я использую версию Django 1.2.

Заранее спасибо

Ответы [ 2 ]

5 голосов
/ 11 февраля 2012

Этого нельзя сделать в Django 1.2.

Начиная с версии 1.3, вы можете использовать этот стандартный синтаксис relatedModel__field (см. документы ). Обратите внимание, что для этого нужно использовать двойное подчеркивание.

В текущей версии dev вы могли бы использовать еще более сложные вещи, используя подкласс SimpleListFilter, который практически позволяет вам делать все, что вам нравится;)

4 голосов
/ 15 ноября 2012

В Django 1.2 есть хакерская работа, которую я использовал для такого рода вещей.

В вашей базе данных определите вид соединения двух таблиц с отношением внешнего ключа.Затем заставьте Django использовать представление вместо реальной таблицы.Поместите триггеры в представление для перенаправления записей базы данных в правильную таблицу.

...