空CharField,返回null = True返回NoneType Django 1.8

时间:2016-10-22 14:43:40

标签: django django-models

据我所知,当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

2 个答案:

答案 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