刚刚在django docs人中遇到这个
调用None()将创建从不返回任何对象的查询集 并且在访问结果时不会执行任何查询.a qs.one() queryset是EmptyQuerySet的实例.
我构建了很多CRUD应用程序(令人惊讶),我想不出哪种情况下我需要使用none()
个.
为什么要返回一个空的QuerySet?
刚刚在django docs人中遇到这个
调用None()将创建从不返回任何对象的查询集 并且在访问结果时不会执行任何查询.a qs.one() queryset是EmptyQuerySet的实例.
我构建了很多CRUD应用程序(令人惊讶),我想不出哪种情况下我需要使用none()
个.
为什么要返回一个空的QuerySet?
通常在需要提供QuerySet
,但没有提供的情况下-例如调用方法或提供给模板.
优点是,如果你know没有结果(或不想要结果),而你仍然need个,none()
个不会命中数据库.
对于一个不现实的例子,假设您有一个API,可以在其中查询您的权限.如果帐户尚未确认,因为您已经有了Account
对象,并且可以看到account.is_activated
是False
,那么只需使用Permission.objects.none()
就可以跳过判断数据库的权限