遍历Django项目中的每个模型

Big*_*677 2 python django django-models

在Django中,有没有一种方法可以遍历数据库中当前存在的每个模型?

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

输出是这样的

模型1行:23

模型2行:234

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

模型1行:23

模型2行:234

型号3行:0

理想的格式应该是这样。

def getDbStatus()
    for m in Models:
        print(m.objects.count)
Run Code Online (Sandbox Code Playgroud)

Das*_*son 5

使用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))
Run Code Online (Sandbox Code Playgroud)