Django查询分层结果集

时间:2011-03-03 17:35:13

标签: django django-models

我有三个Django模型存在于层次结构中:

Protocol - >有Test s

Test - >有Case s

Test模型具有Protocol的外键,Case模型具有TestProtocol的外键。一个非常简单的结构。

这些模型中的每一个都有一个名为owner的属性,我应用中的任何用户都可以拥有任何内容。我想要做的是创建一个查询,为我提供这三个模型的任何实例的所有所有者的唯一集合。我无法在Django中找到一个很好的方法。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

如果不单独查询所有模型,就无法做到。

User.objects.filter(Q(protocol__isnull=False) | Q(test__isnull=False) | Q(case__isnull=False)