serializers.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435
  1. # coding=utf-8
  2. from rest_framework import serializers
  3. from .models import Order,ProgressDetails
  4. from django.conf import settings
  5. class OrderSerializer(serializers.ModelSerializer):
  6. service_user_text = serializers.CharField(source='service_user.name', read_only=True)
  7. create_time_f = serializers.DateTimeField(source='create_time', format=settings.SHORT_DATETIME_FORMAT,
  8. read_only=True)
  9. status_text = serializers.CharField(source='get_status_display', read_only=True)
  10. name = serializers.CharField(source='customer.name', read_only=True)
  11. tel = serializers.CharField(source='customer.tel', read_only=True)
  12. village = serializers.CharField(source='customer.village', read_only=True)
  13. address = serializers.CharField(source='customer.address', read_only=True)
  14. stage_progress_text = serializers.CharField(source='stage_progress.name', read_only=True)
  15. project_text = serializers.SerializerMethodField()
  16. def get_project_text(self, obj):
  17. project = obj.project.all()
  18. return ','.join(project.values_list('name', flat=True))
  19. class Meta:
  20. model = Order
  21. fields = '__all__'
  22. class ProgressDetailsSerializer(serializers.ModelSerializer):
  23. user_text = serializers.CharField(source='user.name', read_only=True)
  24. operation_time_f = serializers.DateTimeField(source='operation_time', format=settings.SHORT_DATETIME_FORMAT,
  25. read_only=True)
  26. class Meta:
  27. model = ProgressDetails
  28. fields = '__all__'