From 8603a92e101b3042e0a4535319b44dc2b06856f1 Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Fri, 2 Mar 2018 10:24:08 +0300 Subject: [PATCH] Fix AuthorBalanceSerializer --- api/v1/serializers/payment.py | 28 ++++++++++++++++++++++++++++ api/v1/views.py | 7 +++++-- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/api/v1/serializers/payment.py b/api/v1/serializers/payment.py index 93400cbf..9174177d 100644 --- a/api/v1/serializers/payment.py +++ b/api/v1/serializers/payment.py @@ -1,9 +1,37 @@ from rest_framework import serializers from apps.payment.models import AuthorBalance +from .user import UserSerializer + + +class AuthorBalanceCreateSerializer(serializers.ModelSerializer): + + class Meta: + model = AuthorBalance + fields = ( + 'id', + 'author', + 'type', + 'amount', + 'commission', + 'status', + 'payment', + 'cause', + ) + + read_only_fields = ( + 'id', + 'author', + 'type', + 'payment', + ) + + def to_representation(self, instance): + return AuthorBalanceSerializer(instance, context=self.context).to_representation(instance) class AuthorBalanceSerializer(serializers.ModelSerializer): + author = UserSerializer() class Meta: model = AuthorBalance diff --git a/api/v1/views.py b/api/v1/views.py index bca328a2..ad4b1402 100644 --- a/api/v1/views.py +++ b/api/v1/views.py @@ -24,7 +24,7 @@ from .serializers.content import ( ImageObjectSerializer, ) from .serializers.school import SchoolScheduleSerializer -from .serializers.payment import AuthorBalanceSerializer +from .serializers.payment import AuthorBalanceSerializer, AuthorBalanceCreateSerializer from .serializers.user import ( UserSerializer, UserPhotoSerializer, ) @@ -43,7 +43,10 @@ User = get_user_model() class AuthorBalanceViewSet(ExtendedModelViewSet): queryset = AuthorBalance.objects.all() - serializer_class = AuthorBalanceSerializer + serializer_class = AuthorBalanceCreateSerializer + serializer_class_map = { + 'list': AuthorBalanceSerializer, + } permission_classes = (IsAdmin,) filter_fields = ('author', 'status', 'type') search_fields = (