music.service.backend/portfolio/account/serializers.py

43 lines
1.4 KiB
Python

from .models import Account, Guest
from rest_framework import serializers
from django.core.paginator import Paginator
from django.http import JsonResponse
class AccountGetSerializer(serializers.ModelSerializer):
id = serializers.IntegerField(read_only = True)
username = serializers.CharField(max_length = 100)
email = serializers.EmailField()
ip = serializers.CharField(max_length = 12)
city = serializers.CharField(max_length = 255)
country = serializers.CharField(max_length = 255)
class Meta:
model = Account
fields = ['id', 'username', 'email', 'ip', 'city', 'country']
class AccountSerializer(AccountGetSerializer):
password = serializers.CharField(max_length = 100)
def create(self, validated_data):
return Account.register(validated_data)
def update(self, instance, validated_data):
return instance.update(instance, **validated_data)
class Meta:
model = Account
fields = ['id', 'username', 'password', 'email', 'ip', 'city', 'country']
class GuestSerializer(serializers.HyperlinkedModelSerializer):
id = serializers.IntegerField(read_only = True)
ip = serializers.CharField(max_length = 12)
city = serializers.CharField(max_length = 255)
country = serializers.CharField(max_length = 255)
class Meta:
model = Guest
fields = ['id', 'ip', 'city', 'country']