我在 Django 中有以下模型继承结构:
class Parent(models.Model):
# stuff
class A(Parent):
# stuff
class B(Parent):
# stuff
class C(Parent):
# stuff
and the list goes on.
我正在使用 django-model-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()
是否可以进行这样的过滤操作,如果可能的话,如何进行?