【发布时间】:2018-06-08 15:33:27
【问题描述】:
在我的 Django webapp 中,我有基于函数的 API,可以显示分页列表。问题是我希望列表中的每一行都有扩展的关系字段输出。
这是我的出勤模型:
class Attendance(models.Model):
CHECKIN = 1
CHECKOUT = 2
ATTENDANCE_TYPE_CHOICES = (
(CHECKIN, "Check In"),
(CHECKOUT, "Check Out"),
)
employee = models.ForeignKey(Employee)
company = models.ForeignKey(Company)
activity_type = models.IntegerField(choices = ATTENDANCE_TYPE_CHOICES, default=CHECKIN)
这是我的列表 API 的一部分,我在其中定义要显示的字段并进行分页。
employee_list = Employee.objects.filter(company = auth_employee.employee.company.id).values("id","employee","company","activity_type").order_by('id')
page = request.GET.get('page', request.POST['page'])
paginator = Paginator(employee_list, request.POST['page_limit'])
try:
employees = paginator.page(page)
except PageNotAnInteger:
employees = paginator.page(request.POST['page'])
except EmptyPage:
employees = paginator.page(paginator.num_pages)
return Response(list(employees), status=status.HTTP_200_OK)
输出是这样的列表,但没有员工详细信息。
[
{
"id": 14,
"employee": 15,
"company": 15,
"activity_type": 1,
},
{
"id": 15,
"employee": 15,
"company": 15,
"activity_type": 2,
}
]
我的预期输出,我如何得到这样的东西?
[
{
"id": 14,
"employee": {
"id":"2",
"name":"Michael"
},
"company": 15,
"activity_type": 1,
},
{
"id": 15,
"employee": {
"id":"2",
"name":"Jeniffer"
},
"company": 15,
"activity_type": 2,
}
]
我怎样才能生成一个列表来显示上面的关系数据以显示在 json 响应中?
【问题讨论】:
标签: json django model django-queryset relational