python - 如何在 django 1.8 中获取所有模型

标签 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)

但我收到警告 get_models 已弃用

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

最佳答案

这应该可行,

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 实例。

关于python - 如何在 django 1.8 中获取所有模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29738976/

相关文章:

python - 为什么我没有针对错误输入的类属性的警告?

python - 如何使用 pandas 中的自定义权重计算滚动平均值?

python - 如何构建具有 ModelChoiceField 的 Django 表单?

django - session 被 django-all auth 重置

django - Django 中的同义多对多模型关系

python - 使用 Pandas 将一列字典拆分/分解为单独的列

python - 在一个命令中从数据框中删除多个系列

django - 在 Django 管理中漂亮地打印 django.db.models.JSONField?

python - 计算平均交货时间(天) Django ORM

python - 无法分配: must be a instance Django foreign Key error