123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- # coding=utf-8
- import datetime
- from rest_framework import serializers
- from .models import *
- from django.conf import settings
- from utils.booleancharfield import PriceShowCharField
- from apps.base import Formater
- class PackageSerializer(serializers.ModelSerializer):
- create_user_text = serializers.CharField(source='create_user.username', read_only=True)
- create_time_f = serializers.DateTimeField(source='create_time', format=settings.SHORT_DATETIME_FORMAT,
- read_only=True)
- amount = PriceShowCharField(read_only=True)
- give_amount = PriceShowCharField(read_only=True)
- class Meta:
- model = Package
- fields = '__all__'
- def create(self, validated_data):
- validated_data['create_user'] = self.context['request'].user
- validated_data['amount'] = Formater.formatPrice(self.initial_data['amount'])
- validated_data['give_amount'] = Formater.formatPrice(self.initial_data['give_amount'])
- instance = super(PackageSerializer, self).create(validated_data)
- instance.save()
- return instance
- def update(self, instance, validated_data):
- validated_data['amount'] = Formater.formatPrice(self.initial_data['amount'])
- validated_data['give_amount'] = Formater.formatPrice(self.initial_data['give_amount'])
- instance = super(PackageSerializer, self).update(instance, validated_data)
- instance.save()
- return instance
- class OrderSerializer(serializers.ModelSerializer):
- create_user_text = serializers.CharField(source='create_user.username', read_only=True)
- create_time_f = serializers.DateTimeField(source='create_time', format=settings.SHORT_DATETIME_FORMAT,
- read_only=True)
- status_text = serializers.CharField(source='get_status_display', read_only=True)
- total_amount = PriceShowCharField(read_only=True)
- balance_deduction = PriceShowCharField(read_only=True)
- actual_amount = PriceShowCharField(read_only=True)
- class Meta:
- model = Order
- fields = '__all__'
- def create(self, validated_data):
- validated_data['create_user'] = self.context['request'].user
- validated_data['total_amount'] = abs(Formater.formatPrice(self.initial_data['total_amount']))
- instance = super(OrderSerializer, self).create(validated_data)
- instance.no = instance.get_no()
- instance.save()
- return instance
|