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

问题描述 投票:18回答:1

我在我的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中做到这一点

python django django-models django-1.8
1个回答
36
投票

这应该工作,

from django.apps import apps
apps.get_models()

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.