Added MenuFiles serializer

This commit is contained in:
dormantman 2020-01-30 22:16:11 +03:00
parent 07cfcb08d7
commit 5aa831ee3c

View File

@ -1,15 +1,17 @@
from functools import lru_cache from functools import lru_cache
from account.serializers.common import UserShortSerializer
from django.db.models import F from django.db.models import F
from django.shortcuts import get_object_or_404
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers
from account.serializers.common import UserShortSerializer
from establishment import models, serializers as model_serializers from establishment import models, serializers as model_serializers
from establishment.models import ContactEmail, ContactPhone, EstablishmentEmployee from establishment.models import ContactEmail, ContactPhone, EstablishmentEmployee
from gallery.models import Image from gallery.models import Image
from location.serializers import AddressDetailSerializer, TranslatedField from location.serializers import AddressDetailSerializer, TranslatedField
from main.models import Currency from main.models import Currency
from main.serializers import AwardSerializer from main.serializers import AwardSerializer
from rest_framework import serializers
from utils.decorators import with_base_attributes from utils.decorators import with_base_attributes
from utils.serializers import ImageBaseSerializer, ProjectModelSerializer, TimeZoneChoiceField from utils.serializers import ImageBaseSerializer, ProjectModelSerializer, TimeZoneChoiceField
@ -696,3 +698,24 @@ class MenuGallerySerializer(serializers.ModelSerializer):
attrs['image'] = image attrs['image'] = image
return attrs return attrs
class MenuFilesSerializers(ProjectModelSerializer):
menu = serializers.IntegerField(write_only=True)
class Meta:
model = models.MenuFiles
fields = [
'id',
'name',
'type',
'file',
'menu'
]
def create(self, validated_data):
menu_id = validated_data.pop('menu')
menu = get_object_or_404(models.Menu, pk=menu_id)
instance = models.MenuFiles.objects.create(**validated_data)
menu.uploads.add(instance)
return instance