serializers.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # coding=utf-8
  2. import datetime
  3. from rest_framework import serializers
  4. from .models import *
  5. from django.conf import settings
  6. from utils.booleancharfield import PriceShowCharField
  7. from apps.base import Formater
  8. class OrderSerializer(serializers.ModelSerializer):
  9. payment_name = serializers.CharField(source='get_payment_display', read_only=True)
  10. create_user_text = serializers.CharField(source='create_user.username', read_only=True)
  11. status_text = serializers.CharField(source='get_status_display', read_only=True)
  12. total_amount = PriceShowCharField(read_only=True)
  13. actual_amount = PriceShowCharField(read_only=True)
  14. class Meta:
  15. model = Order
  16. fields = '__all__'
  17. def create(self, validated_data):
  18. validated_data['create_user'] = self.context['request'].user
  19. instance = super(OrderSerializer, self).create(validated_data)
  20. instance.no = instance.get_no()
  21. instance.save()
  22. return instance
  23. class CouponSerializer(serializers.ModelSerializer):
  24. create_user_text = serializers.CharField(source='create_user.username', read_only=True)
  25. amount = PriceShowCharField(read_only=True)
  26. class Meta:
  27. model = Coupon
  28. fields = '__all__'
  29. def create(self, validated_data):
  30. validated_data['create_user'] = self.context['request'].user
  31. instance = super(CouponSerializer, self).create(validated_data)
  32. instance.save()
  33. return instance