Python Django:隐藏特定的ForeignKey对象

Python Django:隐藏特定的ForeignKey对象,python,django,Python,Django,我有两种型号: 类用户(AbstractBaseUser,PermissionsMixin): club=models.ForeignKey('schedule.club',on_delete=models.CASCADE,null=True,blank=True) 存档=模型.DateTimeField('archived at',blank=True,null=True) 班级俱乐部(模型。模型): 存档=模型.DateTimeField('archived at',blank=Tru

我有两种型号:


类用户(AbstractBaseUser,PermissionsMixin):
club=models.ForeignKey('schedule.club',on_delete=models.CASCADE,null=True,blank=True)
存档=模型.DateTimeField('archived at',blank=True,null=True)

班级俱乐部(模型。模型):
存档=模型.DateTimeField('archived at',blank=True,null=True)
一些领域更多领域
现在,当为
俱乐部
字段创建新的
用户
时,我总是可以从我所有俱乐部对象的列表中进行选择。但对于我的俱乐部,我在models.py中有一个存档功能,它可以执行以下操作:

def存档(自身、用户):
self.name='存档俱乐部'
self.archived=now()
因此,它们不会被删除。只有他们的数据被匿名化,而且基本上仍然存在于数据库中。创建新的
用户并设置他/她的俱乐部时,我不想再看到这些俱乐部。有没有办法在不改变我状态的情况下做到这一点

谢谢所有能帮忙的人!:)

您可以使用
外键的属性:

club = models.ForeignKey('schedule.club', on_delete=models.CASCADE, null=True, blank=True,
    limit_choices_to={'archived__isnull': True})
请注意,由于
club
可以是
None
,因此我会将
on_delete
设置为
set_NULL
,以确保这一点。这样,如果某个俱乐部由于某种原因被删除,你就不会失去与之相关的所有用户