Files
links/.history/backend/api/serializers_20250506182026.py
2025-05-06 20:44:33 +09:00

56 lines
1.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# api/serializers.py
from rest_framework import serializers
from django.contrib.auth import get_user_model
from .models import Link, LinkGroup
User = get_user_model()
class RegisterSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True)
class Meta:
model = User
fields = ('username', 'email', 'password')
def create(self, validated_data):
user = User(
username=validated_data['username'],
email=validated_data.get('email', '')
)
user.set_password(validated_data['password'])
user.save()
return user
# api/serializers.py
from rest_framework import serializers
from django.conf import settings
from .models import Link, LinkGroup
# сериализатор для ссылок
class LinkSerializer(serializers.ModelSerializer):
class Meta:
model = Link
fields = ['id', 'title', 'url', 'icon', 'order', 'group']
# сериализатор для групп со вложенными ссылками
class LinkGroupSerializer(serializers.ModelSerializer):
# related_name у вас в модели LinkGroup.owner = 'api_link_groups',
# а у модели Link.group = 'links', так что у группы obj.links — это QuerySet ссылок
links = LinkSerializer(many=True, read_only=True)
class Meta:
model = LinkGroup
fields = ['id', 'name', 'order', 'links']
from django.contrib.auth import get_user_model
from rest_framework import serializers
User = get_user_model()
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
# поля, которые хотите отдавать на фронт:
fields = ['id', 'username', 'email', 'full_name']