cascade create agenda
This commit is contained in:
parent
da1fa9d83a
commit
783e2e5931
|
|
@ -22,7 +22,9 @@ from utils.serializers import (
|
|||
class AgendaSerializer(ProjectModelSerializer):
|
||||
start_datetime = serializers.DateTimeField()
|
||||
end_datetime = serializers.DateTimeField()
|
||||
address = AddressBaseSerializer()
|
||||
address = AddressBaseSerializer(read_only=True)
|
||||
address_id = serializers.PrimaryKeyRelatedField(write_only=True, queryset=location_models.Address.objects.all(),
|
||||
source='address')
|
||||
event_name_translated = TranslatedField()
|
||||
content_translated = TranslatedField()
|
||||
|
||||
|
|
@ -36,7 +38,8 @@ class AgendaSerializer(ProjectModelSerializer):
|
|||
'end_datetime',
|
||||
'address',
|
||||
'content_translated',
|
||||
'event_name_translated'
|
||||
'event_name_translated',
|
||||
'address_id',
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -248,11 +251,17 @@ class NewsBackOfficeBaseSerializer(NewsBaseSerializer):
|
|||
user = request.user
|
||||
validated_data['created_by'] = user
|
||||
|
||||
agenda = validated_data.get('agenda')
|
||||
if agenda is not None and (agenda.event_name is None or agenda.content is None):
|
||||
raise serializers.ValidationError({'agenda': _('Agenda is empty')})
|
||||
agenda_data = validated_data.pop('agenda')
|
||||
agenda_data['address_id'] = agenda_data.pop('address').pk
|
||||
agenda_serializer = AgendaSerializer(data=agenda_data)
|
||||
agenda_serializer.is_valid(raise_exception=True)
|
||||
agenda = agenda_serializer.save()
|
||||
|
||||
return super().create(validated_data)
|
||||
instance = super().create(validated_data)
|
||||
instance.agenda = agenda
|
||||
instance.save()
|
||||
|
||||
return instance
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
slugs = validated_data.get('slugs')
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user