from rest_framework import serializers from django.contrib.auth.models import User from .models import Link, LinkGroup 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')