BSG*_*BSG 3 django django-queryset
接受任何给定的查询集, qs = QS.objects.filter(active=True)
我之间有区别吗?
if qs:
Run Code Online (Sandbox Code Playgroud)
和
if qs.exists():
Run Code Online (Sandbox Code Playgroud)
关于数据库的负载,等等?
是的,有一个区别:
if qs将使用该对象的__nonzero__方法,该方法实际上会调用一个完整的查询(无论如何,这就是我的解释方式)。QuerySet_fetch_allexists()正如Ewan所指出的,它可以使工作效率更高。这就是为什么存在这种方法的原因。因此,简而言之,exists()当您只需要检查是否存在时就使用它,因为这就是它的用途。
| 归档时间: |
|
| 查看次数: |
182 次 |
| 最近记录: |