这是我的查询,
get_emp = Employee.objects.get(id='emp_id').name if Employee.objects.filter(name='emp_id') else None
这是我的情景...这工作正常......但我的问题是这更简单......是否可能?
因为我在条件检查中两次执行相同的查询并获取值。有可能让它单身吗?
我知道要单独定义并按照我的意愿行事,
emp_id = Employee.objects.filter(id='emp_id')
get_emp = emp_id[0].name if emp_id else None
但我想在第一种方法中做到这一点......有可能吗?
我也试过了,
get_emp = Employee.objects.filter(id='emp_id').first()
但在查询完成后我想要emp_name
..所以上面不会通过错误工作
我想做这样的事情,
get_emp = Employee.objects.get(id='emp_id').first().name ? null
答案 0 :(得分:1)
您可以尝试使用first()
:
get_emp = Employee.objects.filter(id='emp_id').first()
它应该像你想要的那样。但是试试:))
答案 1 :(得分:1)
可能的解决方案可以是来自django-annoying的get_object_or_None()
:
get_emp = get_object_or_None(Employee, id='emp_id')
if not get_emp:
...