Фильтр списка администратора Django - PullRequest
7 голосов
/ 04 марта 2010

Я хочу добавить пользовательский метод модели в фильтр администратора, но он не работает.

Пример Foo:

class Foo(models.Model):
     number = models.IntegerField()
     def big_enough(self):
        return self.number > 99

теперь на панели администратора:

class FooAdmin(admin.ModelAdmin):
     list_filter = ('number', 'big_enough')

Сбой, я получаю ошибку

Неправильно настроен в / admin / test / foo / «FooAdmin.list_filter [0]» относится к полю «big_enough», которое отсутствует в модели «Foo».

Ответы [ 2 ]

8 голосов
/ 04 марта 2010

См. ТА потока . Это не так просто, как кажется.

2 голосов
/ 04 марта 2010

Вы не можете использовать метод модели для этой цели. list_filter используется для фильтрации набора запросов django, который не может полноценно использовать голые функции.

...