0
기본적으로 rest_framework_bulk를 사용하는 POST의 응답을 수정할 수있는 방법을 알고 싶습니다. 기본적으로 항상 동일한 객체 또는 객체를 반환하기 때문에 서비스에 의해 배열로 전송됩니다.Django REST Framework에서 POST로 응답을 생성하는 방법 Bulk
모델 :
class employee():
name = models.CharField(max_length=4, verbose_name='name')
profession = models.CharField(max_length=4, verbose_name='profession')
userCreation = models.ForeignKey(userCreation, verbose_name='user')
class Meta:
verbose_name='employee'
def __unicode__(self):
return self.name
시리얼 :
from django.forms import widgets
from .models import employee
from rest_framework import serializers
from rest_framework_bulk import (BulkListSerializer, BulkSerializerMixin, ListBulkCreateUpdateDestroyAPIView,)
class employeeSerializer(BulkSerializerMixin, serializers.ModelSerializer):
class Meta(object):
relation_user = serializers.ReadOnlyField(source='user.username')
model = employee
fields = ('id', 'name', 'profession', 'relation_user')
보기 :
from django.shortcuts import render
from .models import employee
from .serializers import employeeSerializer
from rest_framework import generics
from rest_framework_bulk import ListBulkCreateAPIView
class createEmployee(ListBulkCreateAPIView):
queryset = employee.objects.all()
serializer_class = employeeSerializer
def perform_create(self, serializer):
serializer.save(relation_user=self.request.user)
URL :
from django.conf.urls import url
from rest_framework.urlpatterns import format_suffix_patterns
from employee import views
urlpatterns = [url(r'^api/createEmployee/$', views.createEmployee.as_view())]
urlpatterns = format_suffix_patterns(urlpatterns)
def perform_create(self, serializer):
serializer.save(relation_user=self.request.user)
이 아주 잘 작동하고 난 나머지 서비스
{
name: 'Jhon',
profession: 'Medic'
}
에 보내 문제없이 직원, JSON을 작성해,이 대답입니다 : 내가 응답 할 수 있도록하고 싶습니다
{
name: 'Jhon',
profession: 'Medic'
}
합계, 계산 또는 단순히 생성 된 직원을 나타내는 메시지와 다른 것을 넣으십시오. (
class createEmployee(ListBulkCreateAPIView):
queryset = employee.objects.all()
serializer_class = employeeSerializer
def create(self, request, *args, **kwargs):
# perform bulk creation with rest_framework_bulk
super(createEmployee, self).create(request, *args, **kwargs)
# customise response message here
return Response('Employee successfully created', status=status.HTTP_201_CREATED)
당신은 또한 단지 대량 창조를위한 사용자 정의 메시지를 반환 할 수 없습니다 :
나는 당신이보기에 create
메소드를 오버라이드 (override) 할 수있는 무언가
return Response(succes='Employee successfully created')