我如何获得 Django 1.8 中的所有模型

How can i get all models in django 1.8

我在 admin.py

中使用此代码
from django.db.models import get_models, get_app

for model in get_models(get_app('myapp')):
    admin.site.register(model)

但我收到警告 get_models is deprecated

我如何在 Django 1.8 中做到这一点

这应该有效,

from django.apps import apps
apps.get_models()

get_models 方法 return 是所有已安装模型的列表。您还可以传递三个关键字参数 include_auto_createdinclude_deferredinclude_swapped.

如果你想获取特定应用程序的模型,你可以这样做。

from django.apps import apps
myapp = apps.get_app_config('myapp')
myapp.models

这将 return 该应用的模型的 OrderedDict 实例。