Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class EventSerializer(serializers.ModelSerializer):
- started_at = serializers.DateTimeField(source='event.started_at', required=False)
- ended_at = serializers.DateTimeField(source='event.ended_at', required=False,)
- class Meta:
- model = EventLang
- fields = ('event', 'title', 'id', 'lang_code', 'description', 'agenda', 'ended_at', 'started_at')
- extra_kwargs = {'event': {'required': False}}
- def create(self, validated_data):
- event = validated_data.pop('event', None)
- if event:
- validated_data['event'] = self._get_or_create_event(event)
- return super().create(validated_data)
- def update(self, instance, validated_data):
- event = validated_data.pop('event', None)
- if event:
- Event.objects.filter(id=instance.event_id).update(**event)
- return super().update(instance, validated_data)
- @staticmethod
- def _get_or_create_event(event):
- if isinstance(event, Event):
- return event
- return Event.objects.create(**event)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement