python - 遍历 Django 项目中的每个模型

标签 python django django-models

在 django 中,有没有办法循环遍历当前数据库中的每个模型?

我希望能够有一个函数来获取我所有模型中每个模型的总行数,而不必在每次添加新模型时都使用该函数。

输出是这样的

model1 行:23

model2 行:234

然后如果我要添加一个新模型它会自动输出

model1 行:23

model2 行:234

model3 行:0

理想的格式应该是这样的。

def getDbStatus()
    for m in Models:
        print(m.objects.count)

最佳答案

使用get_models()count()

import django.apps
for model in django.apps.apps.get_models():
    name = model.__name__
    count = model.objects.all().count()
    print("{} rows: {}".format(name, count))

关于python - 遍历 Django 项目中的每个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48104109/

相关文章:

python - django.core.urlresolver.reverse - NoReverseMatch : Reverse for '...' with arguments '()' and keyword arguments '{}' not found

python - 从多个 celery worker 登录到一个文件安全吗?

python - 在python中为任何对象创建无穷大和负无穷大

django,在 SQL 中忽略 CharField 默认值

Django 多语言 (i18n) 和 SEO

Django:输入图像文件的小写文件名

django - 防止 django 管理员在列表表单上运行 SELECT COUNT(*)

Django Rest 框架 : POST to Viewset with URL parameter

python - Python Selenium Web抓取返回找不到元素

python - 以矢量化方式在另一个 DataFrame 中查找具有值子集的行