Не знаю, правильно ли я это делаю, но у меня возникают проблемы с сохранением некоторых отношений с сериализаторами DRF.
Допустим, у меня есть MessageBoard и несколько MessageBoardPosts
В сообщении есть сериализатор, например:
class MessageBoardPostSerializer(serializers.ModelSerializer):
class Meta:
model = MessageBoardPost
fields = '__all__'
Я хочу добавить сообщение, опубликовав его в / api / messageBoards / [PK] / create_post / Для этого я добавил действие в ViewBoard Viewset :
@action(detail=True, methods=['post'], permission_classes=[MatchesMessageboardVisibility])
def create_post(self, request, pk=None):
# Messageboard to post to
messageBoard = MessageBoard.objects.get(pk=pk)
if messageBoard is not None:
serializer = MessageBoardPostSerializer(data=request.data)
serializer.is_valid(raise_exception=True)
serializer.save()
return Response(serializer.data)
Поскольку MessageBoard является обязательным FK для сообщения, я получаю ошибки проверки при создании сообщения в наборе.
Какой лучший способ решить эту проблему?