use*_*724 1 django django-models django-orm django-queryset
class Status(models.Model):someid = models.IntegerField()value = models.IntegerField()status_msg = models.CharField(max_length = 2000)
so my database look like:
20 1234567890 'some mdg'
20 4597434534 'some msg2'
20 3453945934 'sdfgsdf'
10 4503485344 'ddfgg'
Run Code Online (Sandbox Code Playgroud)
所以我必须获取包含某些值之间的someid的值.所以说吧
val1 = '1234567890'
val2 = '4414544544'
Run Code Online (Sandbox Code Playgroud)
所以我的最终结果应该是包含id = 20的2个条目的列表如何实现这个.
我试过用
list = Status.objects.filter(someid = 20, value < val2, value > val1)
Run Code Online (Sandbox Code Playgroud)
哪个错了?如何解决这个问题.
谢谢.
Imr*_*ran 10
Django Query API不使用传统的比较运算符.它使用(field)__(operatorname)=(value)样式语法.
您的查询将是:
list = Status.objects.filter(someid=20, value__lt=val2, value__gt=val1)
Run Code Online (Sandbox Code Playgroud)
请参阅Django Docs on Making Queries