我正在使用Django rest framework json api,并尝试在我的JSON:API post请求中发布一些元数据。
let user = {
data: {
type: "User",
attributes: {
type: "individual",
status: "active"
},
relationships: {
individual: {
data: {
type: "Individual",
id: applicant.id
}
}
},
meta: {
message: vm.createApplicantAccountMessage
} // <------ This is the meta info
}
};
JsonApiService.create('users', user);但是我不知道如何在我的视图集perform_create函数中读取它。
class UserViewSet(BaseViewSet):
queryset = User.objects.none()
serializer_class = UserSerializer
filterset_class = UserFilterSet
def perform_create(self, serializer):
# TODO: Find out how to read what is inside the meta message here感谢任何人的帮助!
发布于 2021-02-26 14:51:05
我假设您的BaseViewSet继承自viewsets.ModelViewSet,或者至少是mixins.CreateModelMixin,那么您可以重写create方法。例如:
class UserViewSet(BaseViewSet):
queryset = User.objects.none()
serializer_class = UserSerializer
filterset_class = UserFilterSet
def create(self, request, *args, **kwargs):
print(request.data) # <- you can see coming data with request.data
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
# if you do not have custom logic then you can simply return super()
# return super().create(request, *args, **kwargs)
return Response(serializer.data, status=status.HTTP_201_CREATED)https://stackoverflow.com/questions/66378096
复制相似问题