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怎么办?