import structlog from rest_framework import serializers from wagtail.models import Page from vbv_lernwelt.feedback.models import FeedbackResponse logger = structlog.get_logger(__name__) class FeedbackResponseSerializer(serializers.ModelSerializer): page = serializers.CharField(write_only=True) class Meta: model = FeedbackResponse exclude = ["circle"] # extra_kwargs = {"course", {"read_only": True}} def create(self, validated_data): logger.info("creating feedback") page_key = validated_data.pop("page") learning_content = Page.objects.get( translation_key=page_key, locale__language_code="de-CH" ) circle = learning_content.get_parent().specific return FeedbackResponse.objects.create(**validated_data, circle=circle)