fix set uploaded files

This commit is contained in:
Kuroshini 2020-01-31 00:14:49 +03:00
parent ae9d505e3d
commit 47f8905832

View File

@ -747,18 +747,22 @@ class MenuBackOfficeSerializer(serializers.ModelSerializer):
def update(self, instance, validated_data): def update(self, instance, validated_data):
uploaded_files_ids = validated_data.pop('uploads') uploaded_files_ids = validated_data.pop('uploads')
if len(uploaded_files_ids):
uploaded_files = list(models.MenuFiles.objects.filter(id__in=uploaded_files_ids))
establishment_kwargs = validated_data.pop('establishment') establishment_kwargs = validated_data.pop('establishment')
establishment = get_object_or_404(models.Establishment, **establishment_kwargs) establishment = get_object_or_404(models.Establishment, **establishment_kwargs)
validated_data['establishment'] = establishment validated_data['establishment'] = establishment
instance = super().update(instance, validated_data) instance = super().update(instance, validated_data)
instance.uploads.set(uploaded_files_ids) instance.uploads.set(uploaded_files)
return instance return instance
def create(self, validated_data): def create(self, validated_data):
uploaded_files_ids = validated_data.pop('uploads') uploaded_files_ids = validated_data.pop('uploads')
if len(uploaded_files_ids):
uploaded_files = list(models.MenuFiles.objects.filter(id__in=uploaded_files_ids))
establishment_kwargs = validated_data.pop('establishment') establishment_kwargs = validated_data.pop('establishment')
establishment = get_object_or_404(models.Establishment, **establishment_kwargs) establishment = get_object_or_404(models.Establishment, **establishment_kwargs)
validated_data['establishment'] = establishment validated_data['establishment'] = establishment
instance = models.Menu.objects.create(**validated_data) instance = models.Menu.objects.create(**validated_data)
instance.uploads.set(uploaded_files_ids) instance.uploads.set(uploaded_files)
return instance return instance