Django get() 是否对 values() 上的数据库执行查询?



我有值查询集,如果我从中获取一些日期,这会执行对数据库的调用吗?

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?

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

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

最新更新