【发布时间】:2020-04-12 21:39:18
【问题描述】:
我有两个类作为抽象类的子类(下面的示例)。 如何检查查询集模型是否是这些类之一?
class Parent(models.Model)
field_a = models.CharField(primary_key = True, max_length = 24)
field_b = models.CharField(primary_key = True, max_length = 24)
class Meta:
abstract = True
class A(Parent)
pass
class B(Parent)
pass
我已经厌倦了这样的事情,但它不起作用:
if type(queryset.model) == type(A):
do something...
elif type(queryset.model) == type(B):
do something else...
因为当我检查类型(queryset.model)时,它返回类型(父), 甚至 queryset.model 也是 A 或 B 类。
【问题讨论】:
-
这能回答你的问题吗? Django model inheritance and type check
-
这能回答你的问题吗? Using `issubclass()` with Django models
-
不,他们都没有回答我的问题。我在下面发布了我的解决方案。
标签: django python-3.x django-models django-orm