25 lines
648 B
Python
25 lines
648 B
Python
from rest_framework import serializers
|
|
|
|
from api.events.models import Event
|
|
from api.users.models import User
|
|
|
|
|
|
class UserSerializer(serializers.ModelSerializer):
|
|
event = serializers.IntegerField(write_only=True)
|
|
|
|
class Meta:
|
|
model = User
|
|
fields = "__all__"
|
|
|
|
def create(self, validated_data):
|
|
try:
|
|
event = Event.objects.get(pk=validated_data.pop("event"))
|
|
except Event.DoesNotExist as e:
|
|
msg = "Event does not exist"
|
|
raise serializers.ValidationError(msg) from e
|
|
|
|
user = User.objects.create(**validated_data)
|
|
event.users.add(user)
|
|
|
|
return user
|