如何使用select_related
获取下面员工类的名字和姓氏。
class Employee(models.Model):
"""
Model, which holds general information of an employee.
"""
user = models.OneToOneField(User, related_name='users',
on_delete=models.CASCADE, unique=True)
photo_logo = models.FileField(null=True, blank=True)
emp=Employee.objects.filter(pk=1).select_related('user').values('user_first_name','user_last_name','id')
但是在django shell
Cannot resolve keyword 'user_first_name' into field. Choices are: address, address_id, attendance, basic,
答案 0 :(得分:3)
由于您需要特定的用户模型字段,在这种情况下您不需要select_related
,只需使用:
emp=Employee.objects.filter(pk=1).values('user__first_name','user__last_name','id')
查询。
请注意,您应该使用双下划线__
来执行连接。
答案 1 :(得分:1)
我们应该将__
用于关系field
emp=Employee.objects.filter(pk=1).select_related(
'user'
).values('user__first_name','user__last_name','id')