Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django Queryset中的布尔比较?_Django - Fatal编程技术网

Django Queryset中的布尔比较?

Django Queryset中的布尔比较?,django,Django,我有一个模型字段,定义如下: class Room(models.Model): ... ... is_course = models.BooleanField("Is Room a Course?", default= False) 现在,我正在尝试查找数据库中所有is_课程字段值为False的记录 我尝试了以下方法,但似乎不起作用: myrooms = Room.objects.filter(is_course= False) 正确的方法是什么?查询是正确的。确保

我有一个模型字段,定义如下:

class Room(models.Model):
    ...
    ...
    is_course = models.BooleanField("Is Room a Course?", default= False)
现在,我正在尝试查找数据库中所有is_课程字段值为False的记录

我尝试了以下方法,但似乎不起作用:

myrooms = Room.objects.filter(is_course= False)

正确的方法是什么?

查询是正确的。确保要查询的数据库中有记录。做一个Room.objects.all()并检查其中任何一个是否为False。

我也看到了这个问题(同样的SQLite+Django 1.2)。一定是什么虫子。请尝试运行以下语句来修复它:

Room.objects.all().update(is_course=False)

之后,您应该会得到结果。

您使用的是什么数据库和Django版本?如果你用“is_course=0”而不是“False”,这行得通吗?我使用的是SQLITE数据库w/Django 1.2。is_course=0不起作用。我实际上也有同样的想法,只是做了如下操作:rooms=Room.objects.all()category_rooms=[rooms for rooms in rooms If Room.is_course==False]这非常有效。我不知道为什么查询不起作用!!这是一个有点愚蠢的建议——如果原始海报不想在其所有记录上设置该值为False怎么办?