【问题标题】:How to do data search in dataset with Python Django如何使用 Python Django 在数据集中进行数据搜索
【发布时间】:2017-02-21 12:39:04
【问题描述】:

我是 Django 新手,我正在研究数据集搜索。

鉴于此

class Student(models.Model):
  score_1 = models.IntegerField(default=0)
  score_2 = models.IntegerField(default=0)

我知道如何让 score_1 高于 90 的学生,是这样的:

s = Student.objects.filter(score_1__gte=90)

但是,我无法让 score_1 比 score_2 高 10 分的学生,即 score_1 - score_2 >= 10。

由于有很多学生数据,我不能只提取所有数据然后进行搜索,这显然需要很长时间。那么还有其他方法可以做到这一点吗?

非常感谢!

【问题讨论】:

    标签: python django search


    【解决方案1】:

    您可以尝试F expression 在过滤器中使用模型字段:

    from django.db.models import F
    s = Student.objects.filter(score_1__gte=F('score2') + 10)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-28
      • 2013-01-20
      • 2021-10-15
      • 1970-01-01
      相关资源
      最近更新 更多