Фильтрация Django Admin по Null / Is Not Null

У меня есть простая модель Django, как:

class Person(models.Model):
    referrer = models.ForeignKey('self', null=True)
    ...

В ModelAdmin этой модели, как мне разрешить его фильтрацию по тому, является ли реферер нулевым? По умолчанию добавление реферера в list_filter приводит к отображению выпадающего спискакаждый личная запись, которая может исчисляться сотнями тысяч, эффективно предотвращая загрузку страницы. Даже если он загружается, я все равно не могу фильтровать по критериям, которые я хочу.

то есть как бы я изменил это так, чтобы в раскрывающемся списке были только варианты «Все», «Нуль» или «Не ноль»?

Я видел некоторыесообщений которые утверждают, что выполняют нечто подобное, используя пользовательские подклассы FilterSpec, но ни один из них не объясняет, как их использовать. Те немногие, которые я видел, применимы ко всем полям во всех моделях, чего я бы не хотел. Кроме того, естьнуль документация для FilterSpec, которая заставляет меня нервничать, потому что я не хочу вкладывать деньги в большой пользовательский код, связанный с каким-то временным внутренним классом, который может исчезнуть в следующем выпуске.

Ответы на вопрос(6)

Ваш ответ на вопрос