You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django admin下拉选择项为空时禁用页面新增权限

实现方案

你只需要在现有的has_add_permission权限判断逻辑中,新增template_data非空的校验即可,具体修改如下:

  1. 首先在Admin类所在的文件中导入你定义的template_data变量(如果和Admin类同文件可跳过导入步骤)
  2. 修改has_add_permission方法,补充空值判断逻辑:
# 按需导入template_data,示例为从同应用models.py导入
from .models import template_data

def has_add_permission(self, request, obj=None):
    is_redis = RedisCache.is_redis_available()
    # 同时校验Redis可用性和template_data是否为空
    if not is_redis or not template_data:
        return False
    return True

注意事项

如果你的template_data是服务运行过程中由其他脚本动态更新的,不要直接导入静态的template_data变量(Django启动时会缓存导入的变量值,运行时更新不会同步),需要改为每次判断时拉取最新的template_data源数据校验是否为空:
比如template_data是从Redis读取生成的,就直接在校验步骤读取Redis的对应配置判断是否为空即可。

内容的提问来源于stack exchange,提问作者ninjacode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 05:39:04