【问题标题】:Query optimization in DjangoDjango中的查询优化
【发布时间】:2015-07-13 02:00:46
【问题描述】:

您好,我有一个类似这样的数据库查询

qset = Database_View.objects.filter(xx__name__icontains=tata)
qset = qset.filter(xx__name__icontains=dada)
qset = qset.filter(xx__name__icontains=papa)

我怎样才能把它变成一个单一的查询?

【问题讨论】:

  • Database_View.objects.filter(xx__name__icontains=tata).filter(xx__name__icontains=dada).filter(xx__name__icontains=papa)
  • 查询集是惰性的。它已经是一个查询。
  • @MarkGalloway 是对的。在您使用之前,您的查询集不会被评估。
  • 如果您正在寻找一个单一的班轮,只需将所有内容放在一个filter 子句下,以, 分隔

标签: python django query-optimization django-queryset


【解决方案1】:

这已经是一个查询,因为 django 为我们提供了在查询集中延迟加载的功能。因此,在您的数据库中,只有一个选择查询来获取结果。你可以阅读更多关于django的延迟加载here

【讨论】:

  • 请不要只在此处发布链接。提供充分的答案
猜你喜欢
  • 2016-12-23
  • 2011-10-08
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
  • 2018-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多