我有幾個模型,並希望返回屬於用戶的所有模型的查詢集,我想知道是否有可能從多個模型返回一個QuerySet?跨模型的Django Queryset?
8
A
回答
8
我假設你的意思是你想從每個模型中返回屬於該用戶的所有對象的單個查詢集。
你需要一個查詢集還是隻是一個迭代? AFAIK,異構qs是不可能的。然而,你可以輕鬆地返回一個列表,一個鏈式迭代器(itertools)或一個生成器來做你想做的事情。這假設提前知道引用用戶的模型。假設默認related_name,相關查詢集的屬性可以從用戶實例通過模型的名稱訪問:
qs = getattr(user, '%s_set' % model_name.lower());
當然,使用任何異構列表,你要麼只能使用領域或會在所有這些模型中定義的方法,否則你將不得不確定每個對象的類型來執行任何類型特定的操作。
3
您的模型必須包含關係字段(ForeigKey和ManyToManyField),並設置related_name關鍵字參數。檢查文檔here。
相關問題
- 1. 失蹤?類模型django queryset
- 2. DJANGO - Queryset和模型設計
- 3. Django 2模型1「queryset」
- 4. Django的模型 - queryset的問題
- 5. 兩個模型的Django queryset過濾器
- 6. Django AutoSlugField跨繼承模型
- 7. 在django queryset中模數?
- 8. 如何通過ajax將django模型queryset發送給模板?
- 9. 的Django的queryset通過用戶名在用戶模型
- 10. 在模型上執行Django查詢,但結束與該模型的ManyToManyField QuerySet
- 11. Django Queryset比較兩個不同的模型與多行
- 12. Django:根據最新的子模型字段排序QuerySet
- 13. Queryset在繼承的Django模板中
- 14. django模板中queryset的最後一行
- 15. 形式的Django Queryset
- 16. 使用Django的QuerySet
- 17. Django queryset json
- 18. Django QuerySet問題
- 19. Django __init__ QuerySet
- 20. django - queryset in modelForm
- 21. Django queryset和select_related()
- 22. django queryset與mongodb
- 23. Django複雜queryset
- 24. 跨應用程序使用django模型?
- 25. 跨應用使用Django模型
- 26. 從Django queryset json輸出剝離模型pk和字段文本
- 27. 如何在QuerySet中收集一堆Django抽象模型?
- 28. Django queryset模型在字段中應用函數
- 29. Django模型 - 使用QuerySet在M2M場景中自動加入FK
- 30. 在模板中傳遞QuerySet對象。 Django
Duplicate:http://stackoverflow.com/questions/313137/using-django-how-can-i-combine-two-queries-from-separate-models-into-one-query – 2008-12-10 21:32:08