Mam kilka modeli i chcę zwrócić zestaw zapytań wszystkich modeli należących do użytkownika, zastanawiam się, czy możliwe jest zwrócenie jednego kwerendy z wielu modeli?Django kwerendy na modele?
Odpowiedz
Zakładam, że masz na myśli, że chcesz zwrócić pojedynczy zestaw zapytań wszystkich obiektów należących do użytkownika z każdego modelu.
Potrzebujesz zestawu zapytań, czy tylko numeru iteracyjnego? AFAIK, heterogeniczne qs nie są możliwe. Możesz jednak łatwo zwrócić listę, łańcuchowy iterator (itertools) lub generator, aby zrobić to, co chcesz. Zakłada się, że modele odnoszące się do użytkownika są znane z wyprzedzeniem. Zakładając domyślny related_name, związane atrybuty queryset mogłyby być dostępne z instancji użytkownika poprzez nazwę modelu:
qs = getattr(user, '%s_set' % model_name.lower());
Oczywiście, przy użyciu dowolnego heterogenicznego lista będzie trzeba albo być tylko w stanie używać pól lub metod, które są zdefiniowane we wszystkich takich modeli , lub musiałbyś określić typ każdego obiektu, aby wykonać określone działania.
Twoje modele muszą zawierać pola relacji (ForeigKey i ManyToManyField) z ustawionym argumentem related_name. Sprawdź dokumentację here.
- 1. Modele django wybierające pojedyncze pole
- 2. Modele Django - Pole ilościowe
- 3. Django 1.7 sprzeczne modele
- 4. Django-mutant tworząc modele w django-admin
- 5. Django modele i Python atrybuty
- 6. django: wykluczyć modele z migracji
- 7. Filtr kwerendy w Django inlineformset_factory
- 8. modele Django i właściwości Python
- 9. Kwerendy agregujące Django z wyrażeniami
- 10. Limit kwerendy wbudowanego administratora django
- 11. Strony administracyjne Django uniemożliwiają moje modele
- 12. Modele Django - przekazywanie dodatkowych informacji do menedżera
- 13. Widok Django, modele, formularz, nazwa aplikacji
- 14. jak mieć dwa modele odwołać wzajemnie Django
- 15. Zaktualizuj wszystkie modele naraz w Django
- 16. odpytywanie modele w Django (dwa poziomy głębokości)
- 17. modele django rekurencyjne import - jak rozwiązać
- 18. Django: kwerendy wszystkie elementy, które mają kluczowy punkt im obce
- 19. Jak testować kwerendy Django są równe?
- 20. Restartowe modele spłaszczające na słupku?
- 21. Nierozwiązane import: modele
- 22. Django: modele ostatnia data modyfikacji i liczba modów
- 23. Administrator Django - jak zdobyć wszystkie zarejestrowane modele w templatetag?
- 24. Jak zaimplementować modele bez bazy danych w Django?
- 25. Wielomianowe modele logitowe i zagnieżdżone modele logitowania
- 26. Django ver 1.7 AppRegistryNotReady: Modele nie są jeszcze załadowane
- 27. Modele Django "IndexError: indeks listy poza zakresem" Pydev
- 28. Czy można generować modele django z bazy danych?
- 29. Obiekt "Moduł" Brak błędu "Modele atrybutu" w django
- 30. Modele Django nie są wyświetlane w DB po Syncdb
Duplikat: http://stackoverflow.com/questions/313137/using-django-how-can-i-combine-two-queries-from-separate-models-into-one-query –