Skip to main content
 首页 » 编程设计

python之Django 查询集最佳实践

2025年05月04日24xing901022

有什么更好的办法吗

us = User.objects.filter(id=someid) 
if us.exists(): 
   u = us[0] 

正如我在 sql 日志中看到的,us.exists() 将执行一个 sql 查询,然后 u = us[0] 将执行另一个查询。所以我们必须做 2 次查询才能完成。我只是想问一个更好的方法来做到这一点

请您参考如下方法:

假设 id 是唯一的,你应该请求原谅,而不是许可:

try: 
    u = User.objects.get(id=someid) 
except User.DoesNotExist: 
    # do whatever you should do if user does not exist