Django admin 详情页面 数据为空 隐藏视图

Django admin 详情页面 数据为空 隐藏视图

当数据为空时隐藏视图

在 admin.py 中

# 重写获取表单的方法

def get_form(self, request, obj=None, **kwargs):

    form = super(NewsArticleAdmin, self).get_form(request, obj, **kwargs)

    # 获取所有的虚拟BU 对象

    choices = FictitiousBu.objects.all()

    choices_len = len(choices)

    # 如果没有虚拟BU对象 则隐藏 虚拟BU 的视图

    if choices_len == 0:

       if 'fictitious_bu' in form.base_fields:

           form.base_fields.pop('fictitious_bu')

    return form