tôi có cấu trúc thừa kế mô hình sau đây trong Django:Django Lọc Base Class bởi trẻ em lớp Names
class Parent(models.Model):
# stuff
class A(Parent):
# stuff
class B(Parent):
# stuff
class C(Parent):
# stuff
and the list goes on.
Tôi đang sử dụng InheritanceManager của django-mô hình-utils để lọc các đối tượng như:
Parent.objects.filter(foo=bar).select_subclasses()
Điều này hoạt động tốt khi tôi muốn lọc tất cả các lớp con. Điều tôi muốn làm là lọc các đối tượng A và B chứ không phải đối tượng C. Tôi muốn thực hiện điều này với một truy vấn như
Parent.objects.filter(foo=bar, __class__.__name__=A, __class__.__name__=B).select_subclasses()
Có thể thực hiện thao tác lọc như vậy và nếu có thể, hãy làm như thế nào?
tại sao không chỉ làm 'A.objects.filter (foo = bar)' etc? –
Tôi muốn lọc tất cả các đối tượng bằng một truy vấn, thay vì nhiều truy vấn –