我有两个模型:Project和ProjectTweet。你知道吗
Project与ProjectTweet(相关名称:“tweets”)有一个业务关系
这是我的查询集:
current_pledge = 1000000
projects = Project.objects.filter(state = "live").filter(pledged__gt=current_pledge).exclude(tweets__step__gte=current_pledge)
这里是
print projects.query
SELECT `ks_project`.* FROM `ks_project` WHERE (`ks_project`.`state` = live AND `ks_project`.`pledged` > 1000000.0 AND NOT (`ks_project`.`id` IN (SELECT U1.`project_id` AS Col1 FROM `ks_projecttweet` U1 WHERE U1.`step` >= 1000000)))
(我将长字段列表替换为ks_project
.*仅用于后期可读性)
在django中求值的这个查询给我0个结果,但我应该有一个结果。你知道吗
实际上,当我在mysql控制台(同一个用户)中复制查询时,我得到了唯一的结果。。。(只需在字符串中添加引号,因为它们仅在评估查询时添加,如:Potential Django Bug In QuerySet.query?)
你知道是什么导致了这种差异吗?你知道吗
我不知道我怎么会错过这个,但是我用
.exclude(tweets__step__gte=current_pledge)
比较的“step”字段是CharField而不是FloatField。。。我已经改变了这一点,现在mysql控制台和queryset中的查询会给出相同的结果。但是,我希望有一个错误,而不是给我0的结果
或者类似的。你知道吗
相关问题 更多 >
编程相关推荐