我试图获取我在models.py文件中定义的类的名称。我能得到的最接近的是恢复应用程序中的所有模型:
modelsList = django.apps.apps.get_models (include_auto_created=False)`
给出:
<class 'django.contrib.admin.models.LogEntry'>
<class 'django.contrib.auth.models.Permission'>
<class 'django.contrib.auth.models.Group'>
<class 'django.contrib.auth.models.User'>
<class 'django.contrib.contenttypes.models.ContentType'>
<class 'django.contrib.sessions.models.Session'>
<class 'app.models.Project'>
<class 'app.models.User'>
<class 'app.models.File'>
但我只想要字符串'Project','User','File'。无论如何我能得到那个吗?
答案 0 :(得分:1)
您可以使用Model
获取模型Model._meta.object_name
的型号名称。所以你可以这样做:
import django.apps
models = django.apps.apps.get_models(include_auto_created=False)
model_names = [m._meta.object_name for m in models]
答案 1 :(得分:0)
from django.apps import apps
def get_models(app_name):
myapp = apps.get_app_config(app_name)
return myapp.models.values()