当前位置:  开发笔记 > 编程语言 > 正文

有没有官方方法来获取模型的管理选项?

如何解决《有没有官方方法来获取模型的管理选项?》经验,为你挑选了0个好方法。

我需要访问search_fields模型的管理选项上定义的属性.很久以前,它非常简单直接(但没有记录),即model._meta.admin.search_fields.

到达管理员是困难的部分,我能得到的最接近的是:

def admin_options(model):
    from django.contrib import admin
    return admin.site._registry.get(model)

我找不到记录的._registry成员(并且下划线似乎暗示它不公开).这对于未运行的站点也不起作用admin.autodiscover().后备代码执行此操作:

try:
    appname = model.__module__.split('.models')[0]
    admin_module = appname + '.admin'
    __import__(admin_module)  # registers admin option classes with AdminSite
except:
    return None
else:
   return admin.site._registry.get(model)

是否有官方(或更简单)的方式来获取模型的管理选项?

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有