如何在Django ORM中筛选leaved_at为空的有效通行记录?
解决方法
你的问题出在筛选条件的写法上,leaved_at=True是错误的——leaved_at是DateTime类型字段,你要筛选的是该字段**为空(NULL)**的记录,正确写法有两种:
方法一:使用isnull查询
active = Visit.objects.filter(leaved_at__isnull=True) print(active)
方法二:直接指定None
active = Visit.objects.filter(leaved_at=None) print(active)
这两种写法都能正确筛选出leaved_at字段为空的有效通行记录,因为你在模型里给leaved_at设置了null=True,未离开的记录该字段会被存储为NULL,Django ORM会将上述条件转换为对应的SQL查询语句。
内容的提问来源于stack exchange,提问作者jiezzzzzzzzz
相关产品推荐
相关产品推荐

