如何在django中使用过滤器
类Statusmodels。模型: someid=models.IntegerField 值=models.IntegerField 状态\u msg=models.CharFieldmax\u长度=2000如何在django中使用过滤器,django,django-models,django-queryset,django-orm,Django,Django Models,Django Queryset,Django Orm,类Statusmodels。模型: someid=models.IntegerField 值=models.IntegerField 状态\u msg=models.CharFieldmax\u长度=2000 so my database look like: 20 1234567890 'some mdg' 20 4597434534 'some msg2' 20 3453945934 'sdfgsdf' 10 4503485344 'd
so my database look like:
20 1234567890 'some mdg'
20 4597434534 'some msg2'
20 3453945934 'sdfgsdf'
10 4503485344 'ddfgg'
因此,我必须获取一些值之间包含给定someid的值。
这么说吧
val1 = '1234567890'
val2 = '4414544544'
所以我的最终结果应该是包含id=20的2个条目的列表
如何实现这一点
我试着用
list = Status.objects.filter(someid = 20, value < val2, value > val1)
哪一个是错的?
如何解决这个问题
谢谢 Django查询API不使用传统的比较运算符。它使用字段\运算符名称=值样式语法 你的问题是:
list = Status.objects.filter(someid=20, value__lt=val2, value__gt=val1)
参见上的Django文档Django查询API不使用传统的比较运算符。它使用字段\运算符名称=值样式语法 你的问题是:
list = Status.objects.filter(someid=20, value__lt=val2, value__gt=val1)
参见上的Django文档,您也可以使用:
请注意,范围查找是“包含的”,因此您必须调整范围边界。如果适用,如上文所述,这将产生与Imran发布的列表完全相同的列表。范围查找也适用于日期。您还可以使用:
请注意,范围查找是“包含的”,因此您必须调整范围边界。如果适用,如上文所述,这将产生与Imran发布的列表完全相同的列表。范围查找也适用于日期。很抱歉发布此消息。我已经解决了这个问题。list=Status.objects.filtersomeid=20,value\uu lt=val2.filtervalue\uu gt=val1发布此邮件的原因。我已经解决了这个问题。list=Status.objects.filtersomeid=20,value\uu lt=val2.filtervalue\uu gt=val1