serializers.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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 ProductSerializer(serializers.ModelSerializer):
  9. create_user_text = serializers.CharField(source='create_user.username', read_only=True)
  10. create_time_f = serializers.DateTimeField(source='create_time', format=settings.SHORT_DATETIME_FORMAT,
  11. read_only=True)
  12. class Meta:
  13. model = Product
  14. fields = '__all__'
  15. def create(self, validated_data):
  16. validated_data['create_user'] = self.context['request'].user
  17. instance = super(ProductSerializer, self).create(validated_data)
  18. instance.save()
  19. return instance
  20. def update(self, instance, validated_data):
  21. instance = super(ProductSerializer, self).update(instance, validated_data)
  22. instance.save()
  23. return instance
  24. class OrderSerializer(serializers.ModelSerializer):
  25. create_user_text = serializers.CharField(source='create_user.username', read_only=True)
  26. create_time_f = serializers.DateTimeField(source='create_time', format=settings.SHORT_DATETIME_FORMAT,
  27. read_only=True)
  28. status_text = serializers.CharField(source='get_status_display', read_only=True)
  29. category_text = serializers.CharField(source='get_category_display', read_only=True)
  30. class Meta:
  31. model = Order
  32. fields = '__all__'
  33. def create(self, validated_data):
  34. validated_data['create_user'] = self.context['request'].user
  35. instance = super(OrderSerializer, self).create(validated_data)
  36. instance.save()
  37. return instance