我有一个名为doors的应用程序,这个应用程序的models.py有10张桌子/班.在我的admin.py下,如何注册文件models.py中的每个型号?

例如,目前我必须对其进行硬编码:

from django.contrib import admin
from doors.models import *

admin.site.register(Group)
admin.site.register(Item)
admin.site.register(ItemType)
admin.site.register(Location)
admin.site.register(Log)
admin.site.register(Order)
admin.site.register(Property)
admin.site.register(User)
admin.site.register(Vendor)

有没有一种方法可以让我找到models.py个类中的每个类,然后遍历并注册每个类?或者有没有什么通配符可以和Django一起使用?

推荐答案

我通过@arie的链接(对于django<;1.8)找到了答案:

from django.contrib import admin
from django.db.models import get_models, get_app

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

但我在想我能不能在没有get_app的情况下做到这一点……难道代码不够聪明,可以知道它自己的应用程序的名称吗?

Django相关问答推荐

Django ORM Groupby

Django后端对印前判断请求未通过访问控制判断给我以下回应:否访问控制允许来源

模仿没有像预期的那样工作(Django)

Pymongo:搜索文档时忽略空输入值

Django 在模型中存储用户图像

django REST 框架 - 嵌套 ModelSerializer 的有限查询集?

所有子元素的Django自递归外键过滤器查询

Django:使用 Django ORM 实现 JOIN?

获取 Django 中的缓存键列表

django.request 记录器没有传播到根目录?

如何测试某个日志(log)消息是否记录在 Django 测试用例中?

Django聚合:仅求和返回值?

我的 django 模型 DateField 如何将 30 天添加到提供的值?

如何在Django中获取一个组的所有用户?

django类型对象Http404没有属性get

在 Django 中舍入小数点

django 管理员操作而不 Select 对象

从表单获取模型实例而不保存

Django 发送邮箱

django.db.utils.OperationalError 无法连接到服务器