From 3e0b03a0651114a8321d76ea6c98454f585afa90 Mon Sep 17 00:00:00 2001 From: Laurent Date: Wed, 13 Dec 2023 17:06:45 +0100 Subject: [PATCH] Fix issues in serialization --- chat/serializers.py | 5 +++++ chat/views.py | 8 +++++++- enchant_server/urls.py | 3 ++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/chat/serializers.py b/chat/serializers.py index ef48a04..3b894c3 100644 --- a/chat/serializers.py +++ b/chat/serializers.py @@ -16,3 +16,8 @@ class MessageSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = Message fields = ['id', 'text', 'date', 'user', 'room', 'parent'] + +class UserSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = User + fields = ['id', 'username'] diff --git a/chat/views.py b/chat/views.py index 1aea480..37fd5aa 100644 --- a/chat/views.py +++ b/chat/views.py @@ -6,7 +6,8 @@ from django.shortcuts import get_object_or_404, render from django.template import loader from rest_framework import viewsets, generics from rest_framework import permissions -from .serializers import AppSerializer, RoomSerializer, MessageSerializer +from .serializers import AppSerializer, RoomSerializer, MessageSerializer, UserSerializer +from django.contrib.auth.models import User # Create your views here. def index(request): @@ -25,6 +26,11 @@ def room(request, room_id): } return render(request, "chat/room.html", context) + +class UserViewSet(viewsets.ModelViewSet): + queryset = User.objects.all() + serializer_class = UserSerializer + class AppViewSet(viewsets.ModelViewSet): queryset = App.objects.all() serializer_class = AppSerializer diff --git a/enchant_server/urls.py b/enchant_server/urls.py index d9b0b1a..9065903 100644 --- a/enchant_server/urls.py +++ b/enchant_server/urls.py @@ -22,7 +22,8 @@ from chat import views router = routers.DefaultRouter() router.register(r'apps', views.AppViewSet) router.register(r'rooms', views.RoomViewSet) -router.register(r'messages', views.MessageViewSet, basename='Message') +router.register(r'users', views.UserViewSet) +router.register(r'messages', views.MessageViewSet, basename='message') urlpatterns = [ path("chat/", include("chat.urls")),