我想将反向的Foreignkey字段中的查找过滤到没有任何反向引用的字段。这很容易做到:
class MyBaseClass(models.Model):
name = models.CharField(max_length=4)
def block_filter():
return {'myreferenceclass__isnull': True}
class MyReferenceClass(models.Model):
mybase= models.ForeignKey(MyBaseClass, on_delete=models.CASCADE,
limit_choices_to = block_filter)
如果不是因为我想要更新MyReferenceClass的实例,那么这种方法很有效我无法保存它(在管理员中),因为引用的对象不在查找中。因此该字段为空,尽管它已在数据库中具有值。
现在我想使用一个过滤is_null = True的Q对象加上引用self的条目。但是,我坚持后者。我可以在Q对象中执行此操作吗?