【问题标题】:Does Django get() performs query to database on values()?Django get() 是否在 values() 上执行对数据库的查询?
【发布时间】:2020-03-28 04:42:35
【问题描述】:

我有值查询集,如果我从中得到一些日期,这会调用数据库吗?

instances_values = Model.objects.filter(**kwargs).values(*args)
instance_with_id_one = instances_values.get(id=1) # does this perform a call to the databse?

【问题讨论】:

    标签: python django database optimization django-queryset


    【解决方案1】:

    是的.get(..)渴望。它执行查询。您的 instance_with_id_one 在这里是一个字典,其中将包含您的 values(..) 调用中列出的值。

    您可以使用.filter(..) 来推迟通话。然后它只会在您使用查询集时进行调用(例如通过迭代它)。但它因此是(在这种情况下最多一个)记录的集合。

    【讨论】:

      猜你喜欢
      • 2018-02-09
      • 2021-06-23
      • 2016-07-03
      • 1970-01-01
      • 2011-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多