Как реализовать связь с другой моделью через ModelViewset?

Всем привет, не могу понять как реализовать связь между Message и Topic через ModelViewSet.

models.py

class Topic(models.Model):
    title = models.CharField(max_length=50, null=False,verbose_name='Название', unique=True)
    description = models.TextField(max_length=3500, null=False,verbose_name='Описание')
    create_date = models.DateTimeField(auto_now=True, verbose_name='Дата создания')
    author = models.ForeignKey(User, on_delete=models.PROTECT, verbose_name='Создатель темы')
    slug = models.SlugField(default='', null=False)

class Message(models.Model):
    text = models.TextField(max_length=3500, verbose_name='Текст')
    create_date = models.DateTimeField(auto_now=True, verbose_name='Дата публикации')
    author = models.ForeignKey(User, on_delete=models.PROTECT, verbose_name='Создатель публикации')
    topic = models.ForeignKey(Topic, default='', on_delete=models.PROTECT, verbose_name='Тред сообщения')

serializers.py

class MessageSerializer(serializers.ModelSerializer):

    class Meta:
        model = Message
        fields = '__all__'
        read_only_fields = ('id', 'create_date', 'author', 'topic')

views.py

class TopicViewSet(viewsets.ModelViewSet):
    serializer_class = TopicSerializer
    queryset = Topic.objects.all()
    authentication_classes = (TokenAuthentication,)
    permission_classes = (IsAuthorOrNot, IsAuthenticatedOrReadOnly)

    def perform_create(self, serializer):
        serializer.save(author=self.request.user)

В общем, что нужно написать в MessageViewSet?

Вопрос закрыт, это работа фронта, а не моя. По итогу MessageViewSet должен выглядеть так:

class MessageViewSet(viewsets.ModelViewSet):
    serializer_class = MessageSerializer
    queryset = Message.objects.all()
    authentication_classes = (TokenAuthentication,)
    permission_classes = (IsAuthorOrNot, IsAuthenticatedOrReadOnly)
    
    def perform_create(self, serializer):
        serializer.save(author=self.request.user)
Вернуться на верх