serializers.py 1.3 KB

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