Django 获取应用程序中的模型列表 [英] Django get list of models in application

查看:25
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆