我有一組Django模型的如下面的圖中(反向關係的名稱顯示在黃色氣泡):如何過濾這些Django記錄?
Django models http://mipadi.cbstaff.com/images/misc/people_django.jpg
在每個關係,一個Person
可以具有0個或多個的項目。
此外,slug
字段(不幸)不是唯一的;多個Person
記錄可能具有相同的slug字段。基本上這些記錄是重複的。
我想獲得的符合下列條件的所有記錄的列表:所有重複記錄(即具有相同蛞蝓)與至少一個Entry
或至少一個Audio
或至少一個Episode
或至少一個Article
。
到目前爲止,我有以下查詢:
Person.objects.values('slug').annotate(num_records=Count('slug')).filter(num_records__gt=1)
該組中的所有記錄由slug
,然後添加一個num_records
屬性,說多條記錄怎麼有刺蛾,但不進行額外的濾波(和我甚至不知道這是否能正常工作,因爲給定一組重複的記錄,可能有,例如和Entry
,另一個可能有Article
)。
簡而言之,我想查找所有重複記錄,並將它們及其關聯模型合併爲一條記錄。
用Django做這件事的最好方法是什麼?
對於Django顏色的類圖,使用+1! – 2010-06-15 19:53:37