过滤Q对象中指向self的反向关系

时间:2017-02-16 10:45:30

标签: django

我想将反向的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对象中执行此操作吗?

0 个答案:

没有答案