Вы можете написать свой класс сериализатора следующим образом:
class MySerializer(serializers.Serializer):
emptId = serializers.IntergerField()
empName = serializers.CharField()
empEmail = serializes.CharField()
empMobile = serializes.CharField()
depId = serializers.IntergerField()
depName = serializers.CharField()
depLocation = serializers.CharField()
depCode = serializers.CharField()
class Meta:
fields = ('emptId', 'empName', 'empEmail', 'empMobile', 'depId', 'depName', 'depLocation', 'depCode',)
И вы можете написать свой класс представления следующим образом:
class MyAPIView(APIView):
def get(self, request, *args, **kwargs):
employeeId = 1
myEmployee = Employee.objects.filter(id=employeeId) \
.annotate(emptId=F('id'),
empName=F('name'),
empEmail=F('email'),
empMobile=F('mobile'),
depId=F('department__id'),
depName=F('department__name'),
depLocation=F('department__location')
depCode=F('department__dep_code').values('emptId', 'empName', 'empEmail', 'empMobile', 'depId', 'depName', 'depLocation', 'depCode').first()
mySerializer = MySerializer(myEmployee)
return Response(mySerializer, status=status.HTTP_200_OK)
Я не тестирую код в реальной программе . Но вы можете написать свой код, как мой. Вы можете этим вдохновиться.