如何检查Django中是否存在模型名称?

时间:2018-05-31 15:44:32

标签: django django-models

我必须使用哪些Django命令来检查模型SomeModelName是否存在?

1 个答案:

答案 0 :(得分:6)

Django有一个django.apps模块,其中apps类:

from django.apps import apps

这个apps类有一个get_models()函数,它返回Model类(这些类不包括抽象模型,以及ManyToManyField s的结果表。

我们可以使用.__name__来获取类名。因此,我们可以检查SomeModelName是否存在:

from operator import attrgetter

'SomeModelName' in map(attrgetter('__name__'), apps.get_models())

请注意,这将指定类的名称,并且在您注册的不同应用程序中,多个模型可以具有相同的名称(但这些不是相同的型号)。