from phonenumber_field.serializerfields import PhoneNumberField from rest_framework import serializers from django.contrib.auth import get_user_model from . import Base64ImageField from apps.user.models import AuthorRequest User = get_user_model() class UserSerializer(serializers.ModelSerializer): phone = PhoneNumberField() class Meta: model = User fields = ( 'id', 'username', 'email', 'phone', 'first_name', 'last_name', 'is_staff', 'is_active', 'date_joined', 'role', 'gender', 'country', 'city', 'about', 'instagram', 'facebook', 'twitter', 'pinterest', 'youtube', 'vkontakte', 'fb_id', 'fb_data', 'is_email_proved', 'photo', 'balance', 'show_in_mainpage', ) read_only_fields = ( 'id', 'photo', 'date_joined', 'is_staff', 'fb_id', 'fb_data', 'balance', ) class UserPhotoSerializer(serializers.Serializer): photo = Base64ImageField( required=False, allow_empty_file=True, allow_null=True ) class AuthorRequestSerializer(serializers.ModelSerializer): class Meta: model = AuthorRequest fields = ( 'id', 'first_name', 'last_name', 'email', 'about', 'facebook', 'status', 'cause', 'accepted_send_at', 'declined_send_at', 'created_at', 'update_at', ) read_only_fields = ( 'id', 'accepted_send_at', 'declined_send_at', 'created_at', 'update_at', )