所以每次当我试图查看没有输入生日的人的个人资料时,我都会得到这个错误'NoneType' object has no attribute 'year'
。我遵循这篇文章将生日/年龄添加到用户配置文件中,所以没有理由包括我的代码,因为我是从这里https://stackoverflow.com/a/39761072/12229283获得的。
我尝试在模型中添加一个default
,但似乎不起作用,我该怎么做呢?如果用户没有输入生日,就跳过它并忽略它?谢谢
发布于 2019-11-28 23:20:41
您需要在age方法的return语句中添加if / else。
如果没有date_of_birth的值(即设置为None),则在调用dob.year时会收到该错误,其中道布= date_of_birth = None。
class Profile(models.Model):
date_of_birth = models.DateField()
def age(self):
import datetime
if self.date_of_birth:
dob = self.date_of_birth
tod = datetime.date.today()
my_age = (tod.year - dob.year) - int((tod.month, tod.day) < (dob.month, dob.day))
return my_age
else:
return ''
发布于 2021-07-01 10:39:07
在Django升级到3.2.4之后,我在admin>LogEntry中遇到了这个问题。问题出在使用date_hierarchy
时。
https://stackoverflow.com/questions/59096778
复制相似问题