1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- # coding=utf-8
- from rest_framework import serializers
- from django.conf import settings
- from .models import Order,ProgressDetails
- from utils.booleancharfield import TimeCharField
- class OrderSerializer(serializers.ModelSerializer):
- service_user_text = serializers.CharField(source='service_user.name', read_only=True)
- create_time_f = TimeCharField(source='create_time', read_only=True)
- status_text = serializers.CharField(source='get_status_display', read_only=True)
- name = serializers.CharField(source='customer.name', read_only=True)
- tel = serializers.CharField(source='customer.tel', read_only=True)
- village = serializers.CharField(source='customer.village', read_only=True)
- address = serializers.CharField(source='customer.address', read_only=True)
- stage_progress_text = serializers.CharField(source='stage_progress.name', read_only=True)
- project_text = serializers.SerializerMethodField()
- def get_project_text(self, obj):
- project = obj.project.all()
- return ','.join(project.values_list('name', flat=True))
- class Meta:
- model = Order
- fields = '__all__'
- class ProgressDetailsSerializer(serializers.ModelSerializer):
- user_text = serializers.CharField(source='user.name', read_only=True)
- operation_time_f = serializers.DateTimeField(source='create_time', format=settings.SHORT_DATETIME_FORMAT,
- read_only=True)
- class Meta:
- model = ProgressDetails
- fields = (
- 'id', 'user_text', 'operation', 'notes', 'operation_time_f',
- )
- # class OrderDertailSerializer(serializers.ModelSerializer):
- # service_user_text = serializers.CharField(source='service_user.name', read_only=True)
- # name = serializers.CharField(source='customer.name', read_only=True)
- # tel = serializers.CharField(source='customer.tel', read_only=True)
- # address = serializers.CharField(source='customer.address', read_only=True)
- # stage_progress_text = serializers.CharField(source='stage_progress.name', read_only=True)
- # project_text = serializers.SerializerMethodField()
- #
- # def get_project_text(self, obj):
- # project = obj.project.all()
- # return ','.join(project.values_list('name', flat=True))
- #
- # class Meta:
- # model = Order
- # fields = (
- # 'id', 'service_user_text', 'name', 'tel', 'address', 'stage_progress_text', 'project_text',
- # )
|