我如何在django 1.8中获得所有型号

use*_*546 19 python django django-models 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)
Run Code Online (Sandbox Code Playgroud)

但我得到警告 get_models is deprecated

我怎么能在django 1.8中做到这一点

Rod*_*ier 37

这应该工作,

from django.apps import apps
apps.get_models()
Run Code Online (Sandbox Code Playgroud)

get_models方法返回所有已安装模型的列表.您还可以传递三个关键字参数include_auto_created,include_deferredinclude_swapped.

如果你想获得特定应用的模型,你可以做这样的事情.

from django.apps import apps
myapp = apps.get_app_config('myapp')
myapp.models
Run Code Online (Sandbox Code Playgroud)

这将返回该应用程序的模型的OrderedDict实例.