我有两个模型,Appointment和EmployeeEvent.我需要从这些模型中获取数据,并将结果合并到一个get api请求中.
urls.py
url(r'^calenderevents', calender_events)
Run Code Online (Sandbox Code Playgroud)
views.py
@api_view(['GET'])
def calender_events(request):
queryset1 = Appointment.objects.all()
queryset2 = EmployeeEvent.objects.all()
return Response({'Appointments':json.loads(serializers.serialize('json', queryset1)), 'EmployeeEvents': json.loads(serializers.serialize('json', queryset2))})
Run Code Online (Sandbox Code Playgroud)
当我调用API时,我得到结果,但它包含一些不需要的键,如"pk","model","fields"等.另外在命名结果中,我需要完整的客户对象而不是客户ID.有没有办法指定CustomerSerializer和查询集?
结果越来越好了
{
"Appointments": [
{
"pk": "33a0fffb-326e-4566-bfb4-b146a87a4f3f",
"model": "appointment.appointment",
"fields": {
"customer": "25503315-8bac-4070-87c1-86bf0630c846",
"status": "Requested",
"description": "Assigned appointment",
}
},
{
"pk": "9da806f5-77f1-41e6-a745-7be3f79d6f7a",
"model": "appointment.appointment",
"fields": {
"customer": "25503315-8bac-4070-87c1-86bf0630c846",
"status": "Requested",
"description": "Assigned appointment",
}
}
],
"EmployeeEvents": [
{
"pk": "f76b5de0-1ab8-4ac3-947d-15ba8941d97d",
"model": "employee_event.employeeevent",
"fields": {
"event_name": "New Event",
"start_date": "2017-02-17",
"end_date": "2017-02-22"
}
},
{
"pk": "56f02290-370e-426c-951e-a93c57fde681", …Run Code Online (Sandbox Code Playgroud)