我有以下型號繼承結構在Django:Django的過濾器基類的子類名稱
class Parent(models.Model):
# stuff
class A(Parent):
# stuff
class B(Parent):
# stuff
class C(Parent):
# stuff
and the list goes on.
我使用的Django模型utils的的InheritanceManager過濾狀物體:
Parent.objects.filter(foo=bar).select_subclasses()
當我想要過濾所有的子類時,這很有效。我想要做的是過濾A和B對象,但不過濾C對象。我想用一個單獨的查詢要做到這一點像
Parent.objects.filter(foo=bar, __class__.__name__=A, __class__.__name__=B).select_subclasses()
是否有可能做這樣的過濾操作,如果可能的話怎麼樣?
爲什麼不只是做'A.objects.filter(foo = bar)'等? –
我想用單個查詢來過濾所有對象,而不是多個查詢 –