serializers.py 1018 B

123456789101112131415161718192021222324
  1. # coding=utf-8
  2. from rest_framework import serializers
  3. from .models import Order
  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. name = serializers.CharField(source='customer.name', read_only=True)
  9. tel = serializers.CharField(source='customer.tel', read_only=True)
  10. village = serializers.CharField(source='customer.village', read_only=True)
  11. address = serializers.CharField(source='customer.address', read_only=True)
  12. stage_progress_text = serializers.CharField(source='customer.stage_progress.name', read_only=True)
  13. project_text = serializers.SerializerMethodField()
  14. def get_project_text(self, obj):
  15. project = obj.customer.project.all()
  16. return ','.join(project.values_list('name', flat=True))
  17. class Meta:
  18. model = Order
  19. fields = '__all__'