У меня есть несколько моделей и вы хотите вернуть набор запросов для всех моделей, принадлежащих пользователю, мне интересно, можно ли вернуть один Queryset из нескольких моделей?Django Queryset через модели?
ответ
Я предполагаю, что вы имеете в виду, что хотите вернуть один набор запросов всех объектов, принадлежащих пользователю, из каждой модели.
Вам нужен запрос или просто итерабельный? AFAIK, гетерогенные qs не возможны. Однако вы можете легко вернуть список, цепочный итератор (itertools) или генератор, чтобы делать то, что вы хотите. Это предполагает, что модели, ссылающиеся на пользователя, известны заранее. Предполагая, что по умолчанию related_name, связанные атрибуты QuerySet могут быть доступны из экземпляра пользователя по имени модели:
qs = getattr(user, '%s_set' % model_name.lower());
Конечно, используя любой гетерогенный список вы должны либо быть в состоянии использовать поля и методы, которые определены во всех таких моделях , или вам нужно будет определить тип каждого объекта для выполнения каких-либо действий определенного типа.
Ваши модели должны содержать поля отношений (ForeigKey и ManyToManyField) с набором аргументов related_name. Проверьте документацию here.
- 1. Queryset через четыре модели
- 2. DJANGO - Queryset и дизайн модели
- 3. Django - альтернатива Queryset для метода модели
- 4. Django: фильтрация Queryset из двух полей модели
- 5. Django: предотвращение удаления QuerySet на модели?
- 6. Django: измените класс модели, возвращенный из QuerySet?
- 7. Django get Foreignkey Reverse Queryset
- 8. Django Queryset
- 9. Django filter model queryset
- 10. Django Queryset Construction
- 11. Iterate через Django queryset внутри шаблона
- 12. serialize queryset через django-rest-framework
- 13. Django получить все дочерние дочерние модели, используя django queryset
- 14. Фильтрация на Django Queryset
- 15. Django Queryset only
- 16. Django QuerySet следующая дата
- 17. Django Queryset в формах
- 18. django send_mail from queryset
- 19. django complex queryset аннотация
- 20. django forms queryset doudt
- 21. Django Foreign Key QuerySet (join)
- 22. Django Queryset Repr Error
- 23. Django Queryset Iteration Optimization
- 24. Django + Queryset + m2m + ForeignKey
- 25. Django queryset - сортировка дважды
- 26. Изменить структуру Django queryset
- 27. Reuse filter() queryset в Django
- 28. Фильтр Django __contains = queryset?
- 29. Django QuerySet order
- 30. Выбор всех столбцов из родственной модели с помощью django queryset
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