from rest_framework import serializers from core.apps.evaluation.models import CustomerModel class BaseCustomerSerializer(serializers.ModelSerializer): customer_type_display = serializers.CharField(source="get_customer_type_display", read_only=True) class Meta: model = CustomerModel fields = [ "id", "customer_type", "customer_type_display", "jshshir", "passport_series", "passport_number", "first_name", "last_name", "middle_name", "inn", "org_name", "created_at", ] class ListCustomerSerializer(BaseCustomerSerializer): class Meta(BaseCustomerSerializer.Meta): fields = [ "id", "customer_type_display", "first_name", "last_name", "org_name", "inn", "jshshir", ] class RetrieveCustomerSerializer(BaseCustomerSerializer): class Meta(BaseCustomerSerializer.Meta): fields = BaseCustomerSerializer.Meta.fields + [ "address", "passport_issued_date", "passport_issued_by", "org_address", "director_name", "mfo", "bank_account", "certificate_file", "updated_at", ] class CreateCustomerSerializer(BaseCustomerSerializer): class Meta(BaseCustomerSerializer.Meta): fields = [ "customer_type", "jshshir", "passport_series", "passport_number", "first_name", "last_name", "middle_name", "address", "passport_issued_date", "passport_issued_by", "inn", "org_name", "org_address", "director_name", "mfo", "bank_account", "certificate_file", ]