Python Django QuerySet最佳实践
有没有更好的办法Python Django QuerySet最佳实践,python,django,django-models,Python,Django,Django Models,有没有更好的办法 us = User.objects.filter(id=someid) if us.exists(): u = us[0] 正如我在sql日志中看到的,us.exists将执行一个sql查询,然后u=us[0]将执行另一个查询。所以我们必须做两个查询来完成这件事。我只是想问一个更好的方法来做到这一点假设id是唯一的,你可能应该请求原谅,而不是许可: us = User.objects.filter(id=someid) if us.exists(): u = us
us = User.objects.filter(id=someid)
if us.exists():
u = us[0]
正如我在sql日志中看到的,us.exists将执行一个sql查询,然后u=us[0]将执行另一个查询。所以我们必须做两个查询来完成这件事。我只是想问一个更好的方法来做到这一点假设id是唯一的,你可能应该请求原谅,而不是许可:
us = User.objects.filter(id=someid)
if us.exists():
u = us[0]
try:
u = User.objects.get(id=someid)
except User.DoesNotExist:
# do whatever you should do if user does not exist
假设id是唯一的,您可能应该请求原谅,而不是许可:
try:
u = User.objects.get(id=someid)
except User.DoesNotExist:
# do whatever you should do if user does not exist
.get不使用django queryset缓存。因此,如果您真的想使用和重用queryset,更好的方法是捕获索引器,如:
.get不使用django queryset缓存。因此,如果您真的想使用和重用queryset,更好的方法是捕获索引器,如:
非常感谢,你救了我的命day@TrinhHoangNhu很高兴知道!非常感谢,你救了我的命day@TrinhHoangNhu很高兴知道!