Passo 1 - O model:
Um model padrão do Django com um campo nome
from django.db import models from messaging.managers import MessageManager class MessageGroups(models.Model): name = models.CharField(max_length=30, unique=True) def __str__(self): return self.name
Passo 2: A View (ViewSet):
Um ViewSet com queryset padrão trazendo todos os grupos cadastrados
from rest_framework import viewsets from messaging.models import MessageGroups from messaging.serializers import MessageGroupSerializer class MessageGroupViewSet(viewsets.ModelViewSet): serializer_class = MessageGroupSerializer queryset = MessageGroups.objects.all()
Passo 3: O Urls.py:
No URLs.py do app ou do projeto deve ser adicionada a chamada para DefaultRouter e registrar a url do ViewSet (e foi aqui que me embananei). Depois disso, o urlpatterns deve ser acrescido do router.urls. É muito simples, mas eu relamente me compliquei nessa parte
from django.urls import path, include from rest_framework.routers import DefaultRouter from messaging.views import MessageGroupViewSet router = DefaultRouter() router.register(r'api/message/groups', MessageGroupViewSet, base_name='message_group') urlpatterns = [ path('any_url', AnyViewClass.as_view()),] + router.urls
AND IT IS DONE!
Ele vai criar os métodos de listagem, criação, edição e exclusão para o model utilizando o serializer definido no ViewSet, muito simples. Os métodos podem ser sobrescritos, assim como as views comuns. Enfim, facilitou muito o meu trabalho que era basicamente um CRUD filtrando as mensagens e grupos relacionados ao usuário.
Nenhum comentário:
Postar um comentário