Фильтрация Django Admin по Null / Is Not Null
У меня есть простая модель Django, как:
class Person(models.Model):
referrer = models.ForeignKey('self', null=True)
...
В ModelAdmin этой модели, как мне разрешить его фильтрацию по тому, является ли реферер нулевым? По умолчанию добавление реферера в list_filter приводит к отображению выпадающего спискакаждый личная запись, которая может исчисляться сотнями тысяч, эффективно предотвращая загрузку страницы. Даже если он загружается, я все равно не могу фильтровать по критериям, которые я хочу.
то есть как бы я изменил это так, чтобы в раскрывающемся списке были только варианты «Все», «Нуль» или «Не ноль»?
Я видел некоторыесообщений которые утверждают, что выполняют нечто подобное, используя пользовательские подклассы FilterSpec, но ни один из них не объясняет, как их использовать. Те немногие, которые я видел, применимы ко всем полям во всех моделях, чего я бы не хотел. Кроме того, естьнуль документация для FilterSpec, которая заставляет меня нервничать, потому что я не хочу вкладывать деньги в большой пользовательский код, связанный с каким-то временным внутренним классом, который может исчезнуть в следующем выпуске.