Django 获取应用程序中的模型列表 [英] Django get list of models in application
本文介绍了Django 获取应用程序中的模型列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以,我在 MyApp 文件夹中有一个文件 models.py:
So, i have a file models.py in MyApp folder:
from django.db import models
class Model_One(models.Model):
...
class Model_Two(models.Model):
...
...
可以是大约 10-15 个班级.如何在MyApp中找到所有模型并获取它们的名字?
It can be about 10-15 classes. How to find all models in the MyApp and get their names?
由于模型不可迭代,我不知道这是否可能.
Since models are not iterable, I don't know if this is even possible.
推荐答案
从 Django 1.7 开始,您可以使用此代码,例如在您的 admin.py 中注册所有模型:
From Django 1.7 on, you can use this code, for example in your admin.py to register all models:
from django.apps import apps
from django.contrib import admin
from django.contrib.admin.sites import AlreadyRegistered
app_models = apps.get_app_config('my_app').get_models()
for model in app_models:
try:
admin.site.register(model)
except AlreadyRegistered:
pass
这篇关于Django 获取应用程序中的模型列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文