'NoneType' object has no attribute 'name'
某个外键允许设置为空,null=True,blank=True,同时on_delete=models.SET_NULL
当在Django admin后台自定义标签的时候进行判断的时候,如果默认为空,提交数据库后会出现'NoneType' object has no attribute 'name'
此处建议设置默认值即可解决
default=1,on_delete=models.SET_DEFAULT
原几处关联的代码(假如对应为空则报错):
外键表中:
status=models.ForeignKey(verbose_name="跟进状态",to_field="id",to='StatusList',null=True,blank=True,on_delete=models.SET_NULL)
StatusList表:
class StatusList(models.Model):
name=models.CharField(verbose_name="用户状态",max_length=32)
应用自定义标签代码调用:
主要根据用户不同的状态给予不同的颜色背景
def colored_status(self):
if self.status_id == 5:
color_code = 'el-tag el-tag--small el-tag--danger el-tag--dark'
elif self.status_id == 4:
color_code = 'el-tag el-tag--small el-tag--success el-tag--dark'
else:
color_code = 'el-tag el-tag--small el-tag--dark'
return format_html( '<span class="{}">{}</span>',
color_code,
self.status.name,
)
colored_status.short_description = u"状态"
作者:superip
出处:https://www.cnblogs.com/superip/p/17244156.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
本文来自博客园,作者:super_ip,转载请注明原文链接:https://www.cnblogs.com/superip/p/17244156.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理