Files
blechreiz-website/eventplanner/serializers.py

25 lines
899 B
Python

from rest_framework import serializers
from .models import Event, EventParticipation
class ParticipationSerializer(serializers.ModelSerializer):
event = serializers.PrimaryKeyRelatedField(queryset=Event.objects.all())
user = serializers.CharField(source="get_username", read_only=True)
status = serializers.CharField(required=False)
class Meta:
model = EventParticipation
fields = ("event", "user", "status", "comment")
def create(self, validated_data):
# Remove the get_username source field as it's read-only
validated_data.pop("get_username", None)
return super().create(validated_data)
def update(self, instance, validated_data):
instance.status = validated_data.get("status", instance.status)
instance.comment = validated_data.get("comment", instance.comment)
instance.save()
return instance