Tôi có một vài Mô hình và muốn trả về một bộ truy vấn của tất cả các Mô hình thuộc về một Người dùng, tôi tự hỏi liệu có thể trả về một Bộ truy vấn từ nhiều Mô hình không?Truy vấn Django trên Mô hình?
Trả lời
Tôi giả định rằng bạn có nghĩa là bạn muốn trả về một bộ truy vấn đơn của tất cả các đối tượng thuộc về người dùng từ mỗi mô hình.
Bạn có cần một queryset hoặc chỉ có thể lặp lại không? AFAIK, qs không đồng nhất là không thể. Tuy nhiên, bạn có thể dễ dàng trả về một danh sách, một trình lặp vòng lặp chuỗi (itertools) hoặc một trình tạo để thực hiện những gì bạn muốn. Điều này giả định rằng các mô hình tham chiếu đến người dùng được biết trước. Giả sử related_name mặc định, thuộc tính queryset liên quan có thể được truy cập từ người dùng ví dụ thông qua tên của mô hình:
qs = getattr(user, '%s_set' % model_name.lower());
Tất nhiên, sử dụng bất kỳ danh sách không đồng nhất bạn sẽ hoặc là chỉ có thể sử dụng các trường hoặc các phương pháp được định nghĩa trên tất cả các mô hình như vậy hoặc bạn sẽ phải xác định loại của từng đối tượng để thực hiện bất kỳ hành động cụ thể nào.
Mô hình của bạn phải chứa các trường mối quan hệ (ForeigKey và ManyToManyField), với bộ đối số từ khóa related_name. Kiểm tra tài liệu here.
- 1. Bộ lọc truy vấn mô hình Django là một hàm
- 2. Django Truy vấn các đối tượng liên quan, sau khi lọc trước trên mô hình gốc
- 3. Django lọc mô hình trên ManyToMany tính?
- 4. ForeignKey cho nhiều Mô hình hoặc Bộ truy vấn
- 5. Xem truy vấn SQL cho bộ truy vấn Django xóa
- 6. Mô hình Django truy xuất cùng một kết quả
- 7. Nhận cơ sở dữ liệu đối tượng mô hình django được truy vấn từ
- 8. Django: Nhận thêm bộ truy vấn
- 9. django ForeignKey chứa truy vấn
- 10. Django Ngoại truy vấn chính
- 11. Django mô hình subclassing: Lấy lớp con bằng cách truy vấn các lớp cha
- 12. Truy vấn tên đầy đủ ở Django
- 13. Tín hiệu Django qua Decorator trên Phương thức Mô hình?
- 14. mô hình django chọn trường đơn
- 15. Django: Paginator + truy vấn SQL thô
- 16. Phủ nhận truy vấn Django
- 17. Jena: cách truy vấn dữ liệu từ mô hình?
- 18. django - bộ lọc truy vấn trên manytomany là trống
- 19. Bộ lọc Django trên giao điểm truy vấn?
- 20. Chọn COUNT bằng mô hình Django?
- 21. Bộ lọc truy vấn trong Django inlineformset_factory
- 22. ghi đè django admin change_list_results.html trên mỗi mô hình
- 23. tùy chỉnh phương pháp tiết kiệm trên mô hình - django
- 24. Thực thi mã trên tạo mô hình trong Django
- 25. Có thể ghi đè .objects trên mô hình django không?
- 26. Giới hạn Yii trên mô hình liên quan trong khi truy vấn
- 27. nhập để mô hình Django
- 28. ChoiceField trong mô hình Django
- 29. Trường Mô hình Django Blob
- 30. mô hình django = logic kinh doanh + truy cập dữ liệu? Hoặc lớp truy cập dữ liệu nên được tách ra khỏi mô hình django?
Trùng lặp: http://stackoverflow.com/questions/313137/using-django-how-can-i-combine-two-queries-from-separate-models-into-one-query –