# 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 class LinkGroupSerializer(serializers.ModelSerializer): class Meta: model = LinkGroup fields = ('id', 'name', 'order') read_only_fields = ('id',) class LinkSerializer(serializers.ModelSerializer): class Meta: model = Link fields = ('id', 'title', 'url', 'icon', 'order', 'group') read_only_fields = ('id', 'owner')