Django获取应用程序中的模型列表

因此,我在MyApp文件夹中有一个models.py文件:

from django.db import models

class Model_One(models.Model):

...

class Model_Two(models.Model):

...

...

它可以是大约10-15课。 如何在MyApp中查找所有模型并获取其名称?

由于模型是不可迭代的,因此我什至不知道这是否可行。

回答:

对于较新版本的Django,请在下面查看Sjoerd答案

这是完成你想要做的事情的最佳方法:

from django.db.models import get_app, get_models

app = get_app('my_application_name')

for model in get_models(app):

# do something with the model

在此示例中,model是实际模型,因此你可以使用它做很多事情:

for model in get_models(app):

new_object = model() # Create an instance of that model

model.objects.filter(...) # Query the objects of that model

model._meta.db_table # Get the name of the model in the database

model._meta.verbose_name # Get a verbose name of the model

# ...

以上是 Django获取应用程序中的模型列表 的全部内容, 来源链接: utcz.com/qa/406581.html

回到顶部