Django:在两个值之间按整数过滤对象

Dan*_*iel 10 python django

我正在努力解决到目前为止我无法解决的Django过滤问题.我有一个带有from/to整数的数据库,我需要一个Django Filter来返回给定整数在该范围内的任何对象.

我有以下模型(简化):

class Dataset(models.Model):
    i_begin_int = models.BigIntegerField()
    i_end_int = models.BigIntegerField()
Run Code Online (Sandbox Code Playgroud)

例如,我有以下数据:

+----+-------------+-----------+
| id | i_begin_int | i_end_int |
+----+-------------+-----------+
|  1 |         100 |       200 |
+----+-------------+-----------+
|  2 |         150 |       300 |
+----+-------------+-----------+
|  3 |        7000 |      7500 |
+----+-------------+-----------+
Run Code Online (Sandbox Code Playgroud)

所以现在我有一个整数,比方说,170.我需要170之间的所有对象i_begin_inti_end_int.在示例表中,这将是id为1和2的对象.

有没有我可以使用的Django过滤器?

Geo*_*cob 17

试试这个;

x = 170
Dataset.objects.filter(i_end_int__gte=x,i_begin_int__lte=x)
Run Code Online (Sandbox Code Playgroud)

哪里; gte =大于等于lte =小于等于

  • 为什么不使用`__range`? (2认同)