[英]Selecting rows with primary key field = null
我有以下代码:
object_id = request.POST.get('id')
try:
object = request.user.object_set.get(id=object_id, flag=False)
except Object.DoesNotExist:
object = None
我以为如果object_id == None
,我总是会得到object == None
。 但不是! 当object_id
为None时,我从数据库中获取了一些object
! 我使用了远程调试,并检查了第一次评估request.user.object_set.get(id=object_id, flag=False)
我获得了Object实例,第二次评估此代码时得到了DidNotExist异常。
我重写了此代码以显式检查object_id
,然后才要求DB获取对象。 我很好奇-为什么会发生这种情况? 一些缓存问题? 另外要注意的一点是-它可以在本地计算机(Windows 7)上按预期工作,它不仅仅在服务器(CentOS)上工作,而且在Python / Django的相同版本上也可以工作。
可能您的帖子数据未按预期发送。 在运行python代码时尝试打印object_id,然后看看得到了什么。 您应该真正考虑在数据库配置中将所有PK都设置为NOT NULL。 要搜索空值,无应这样做
尝试为您的帖子数据设置默认值
object_id = request.POST.get('id', None)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.