serializers.py 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # coding=utf-8
  2. import datetime
  3. from rest_framework import serializers
  4. from django.conf import settings
  5. from apps.agent.models import GeneralAgent,Agent,Store
  6. from utils.booleancharfield import BooleanCharField
  7. class GeneralAgentSerializer(serializers.ModelSerializer):
  8. create_user_text = serializers.CharField(source='create_user.name', read_only=True)
  9. class Meta:
  10. model = GeneralAgent
  11. fields = '__all__'
  12. def create(self, validated_data):
  13. validated_data['create_user'] = self.context['request'].user
  14. instance = super(GeneralAgentSerializer, self).create(validated_data)
  15. return instance
  16. class AgentSerializer(serializers.ModelSerializer):
  17. general_agent_text = serializers.CharField(source='general_agent.name', read_only=True)
  18. create_user_text = serializers.CharField(source='create_user.name', read_only=True)
  19. create_time_f = serializers.DateTimeField(source='create_time', format=settings.SHORT_DATETIME_FORMAT,
  20. read_only=True)
  21. class Meta:
  22. model = Agent
  23. fields = '__all__'
  24. def create(self, validated_data):
  25. validated_data['create_user'] = self.context['request'].user
  26. validated_data['general_agent'] = self.context['request'].user.general_agent
  27. instance = super(AgentSerializer, self).create(validated_data)
  28. return instance
  29. class AgentComboboxSerializer(serializers.ModelSerializer):
  30. class Meta:
  31. model = Agent
  32. fields = ('id', 'name',)
  33. class StoreComboboxSerializer(serializers.ModelSerializer):
  34. class Meta:
  35. model = Store
  36. fields = ('id', 'name',)
  37. class StoreSerializer(serializers.ModelSerializer):
  38. create_user_text = serializers.CharField(source='create_user.name', read_only=True)
  39. status_text = serializers.CharField(source='get_status_display', read_only=True)
  40. check_user_text = serializers.CharField(source='check_user.name', read_only=True)
  41. agent_text = serializers.CharField(source='agent.name', read_only=True)
  42. enable_text = BooleanCharField(source='enable', read_only=True)
  43. create_time_f = serializers.DateTimeField(source='create_time', format=settings.SHORT_DATETIME_FORMAT,
  44. read_only=True)
  45. check_time_f = serializers.DateTimeField(source='check_time', format=settings.SHORT_DATETIME_FORMAT, read_only=True)
  46. class Meta:
  47. model = Store
  48. fields = '__all__'
  49. def create(self, validated_data):
  50. validated_data['create_user'] = self.context['request'].user
  51. validated_data['agent'] = self.context['request'].user.agent
  52. validated_data['end_date'] = (datetime.datetime.now() + datetime.timedelta(days=365)).strftime('%Y-%m-%d')
  53. instance = super(StoreSerializer, self).create(validated_data)
  54. return instance