Я хочу добавить пользовательский образцовый метод к администраторскому фильтру, однако он перестал работать.
Нечто в качестве примера:
class Foo(models.Model):
number = models.IntegerField()
def big_enough(self):
return self.number > 99
теперь в панели администрации:
class FooAdmin(admin.ModelAdmin):
list_filter = ('number', 'big_enough')
Сбои, я получаю ошибку
ImproperlyConfigured в/admin/test/foo/'FooAdmin.list_filter[0]' обращается к полю 'big_enough', который отсутствует в модели 'Foo'.
См. Эту ветку SO . Это не так просто, как должно быть.
Вы не можете использовать модельный метод для этой цели. list_filter
используется для фильтрации набора запросов django, который не может значимо использовать простые функции.