2014-10-08 33 views
0

另一个字段的值我有表结构如下:where条件基础上在Django

========================================== 
itemName minPrice maxPrice curPrice 
========================================== 
    A   10  20  8 
    B   15  25  12 
    c   20  30  25 

在MySQL中是这样

select * from Items where curPrice<minPrice 

,但我想它应该会返回像“一个Django, B项目名称结果“。

我已经尝试使用过滤器,但我无法取得成功。

+0

没有你试过''model.objects.filter(curPrice 2014-10-08 08:27:41

+1

@VishnuUpadhyay请不要除非你真的知道解决方案,否则不要提供代码。该语法无效。 – 2014-10-08 08:41:27

回答

1

要与模型中的其他领域的过滤比较值,使用F()对象:

from django.db.models import F 
Item.objects.filter(curPrice__lt=F('minprice')) 
+0

感谢您给出答案,但我得到了错误。错误是“不允许在字段'curPrice'上加入。您是否拼写'le'作为查找类型?” – 2014-10-08 09:20:57

+0

没有__lt是正确的,解决方案对我来说很合适。这个错误可能只是因为你有'minPrice'而不是'minprice' - 它可能会令人困惑 – 2014-10-08 09:30:21

+0

好的,谢谢你的解决。 – 2014-10-08 09:32:01