据我所知,当CharField没有填充数据时,它必须返回null
,而是返回None。
number_of_likes = models.CharField(max_length=1000, blank=False, null=True)
对我来说,主要的问题是当我想要判断以前的价值时,我会遇到这样的问题
int() argument must be a string, a bytes-like object or a number, not 'NoneType'
我该如何处理?
object.number_of_likes = previus_number_of_likes + 1
答案 0 :(得分:2)
正如其他人所指出的那样,null
在python中不存在,None
是表示空值的方法。也就是说,有几种方法可以解决您的问题:
选项1:将字段定义更改为:
number_of_likes = models.IntegerField(default=0)
选项2:如果您不想更改字段,可以:
object.number_of_likes = int(object.number_of_likes) + 1 if object.number_of_likes else 1
希望这有帮助
答案 1 :(得分:0)
只是为了检查我做了python manage.py shell
并输入了
>>> null
得到了:
NameError: name 'null' is not defined
除非将null
存储到数据库中,否则我认为不存在None
。