from django.contrib.auth.models import User from rest_framework import serializers from .models import App, Room, Message class UserSerializer(serializers.HyperlinkedModelSerializer): password = serializers.CharField(write_only=True) def create(self, validated_data): user = User.objects.create_user( username=validated_data['username'], password=validated_data['password'], ) return user class Meta: model = User fields = ['id', 'username', 'password'] class AppSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = App fields = ['id', 'name'] class RoomSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = Room fields = ['id', 'name', 'app'] class MessageSerializer(serializers.HyperlinkedModelSerializer): user = UserSerializer() class Meta: model = Message fields = ['id', 'text', 'date', 'user', 'room', 'parent']