我有一个简单的Django模型,如:
class Person(models.Model):
referrer = models.ForeignKey('self', null=True)
...
Run Code Online (Sandbox Code Playgroud)
在这个模型的ModelAdmin中,我如何通过referrer是否为null来过滤它?默认情况下,将referrer添加到list_filter会导致显示一个下拉列表,其中列出了可能数十万的每个人的记录,从而有效地阻止了页面的加载.即使它加载,我仍然无法按照我想要的标准进行过滤.
即如何修改此选项,以便下拉列表仅列出"全部","空"或"非空"选项?
我已经看过一些声称使用自定义FilterSpec子类完成类似操作的帖子,但它们都没有解释如何使用它们.我见过的少数似乎适用于所有型号的所有领域,我不想要.此外,FilterSpec 没有文档,这让我感到紧张,因为我不想投入大量自定义代码,这些代码与一些可能在下一版本中消失的瞬态内部类相关联.