2011-03-03 46 views
0

我有一個存在於一個層次3個Django模型:Django的查詢進行分層結果集

Protocol - >有Test小號

Test - >有Case小號

Test模型有一個外鍵爲ProtocolCase型號的外鍵爲TestProtocol。一個非常簡單的結構。

這些模型中的每一個都有一個名爲owner的屬性,我應用中的任何用戶都可以擁有任何東西。我想要做的是創建一個查詢,爲我提供這三個模型的任何實例的所有者的唯一集合。在Django中,我一直無法找到一個很好的方法。任何幫助表示讚賞。

回答

2

如果不單獨查詢所有模型,則無法進行此操作。

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

謝謝,你說得對。我最終做了一些非常相似的事情。 – Randy 2011-05-09 14:12:03