diff --git a/apps/establishment/serializers/back.py b/apps/establishment/serializers/back.py index bf17b6ab..45c79433 100644 --- a/apps/establishment/serializers/back.py +++ b/apps/establishment/serializers/back.py @@ -17,6 +17,7 @@ from gallery.models import Image from location.serializers import AddressDetailSerializer, TranslatedField, AddressBaseSerializer from main.models import Currency from main.serializers import AwardSerializer +from tag.serializers import TagBaseSerializer from utils.decorators import with_base_attributes from utils.methods import string_random from utils.serializers import ImageBaseSerializer, ProjectModelSerializer, TimeZoneChoiceField, \ @@ -90,6 +91,12 @@ class EstablishmentListCreateSerializer(model_serializers.EstablishmentBaseSeria subtypes = model_serializers.EstablishmentSubTypeBaseSerializer(source='establishment_subtypes', read_only=True, many=True) + restaurant_category = TagBaseSerializer(read_only=True, many=True, allow_null=True) + restaurant_cuisine = TagBaseSerializer(read_only=True, many=True, allow_null=True) + artisan_category = TagBaseSerializer(read_only=True, many=True, allow_null=True) + distillery_type = TagBaseSerializer(read_only=True, many=True, allow_null=True) + food_producer = TagBaseSerializer(read_only=True, many=True, allow_null=True) + class Meta(model_serializers.EstablishmentBaseSerializer.Meta): fields = [ 'id', @@ -123,6 +130,11 @@ class EstablishmentListCreateSerializer(model_serializers.EstablishmentBaseSeria 'address_id', 'status', 'status_display', + 'restaurant_category', + 'restaurant_cuisine', + 'artisan_category', + 'distillery_type', + 'food_producer', ] def to_representation(self, instance): diff --git a/apps/establishment/views/back.py b/apps/establishment/views/back.py index 6df3c57e..4d041f6d 100644 --- a/apps/establishment/views/back.py +++ b/apps/establishment/views/back.py @@ -58,6 +58,14 @@ class EstablishmentListCreateView(EstablishmentMixinViews, generics.ListCreateAP IsEstablishmentAdministrator, ) + def get_queryset(self): + return super().get_queryset() \ + .with_certain_tag_category_related('category', 'restaurant_category') \ + .with_certain_tag_category_related('cuisine', 'restaurant_cuisine') \ + .with_certain_tag_category_related('shop_category', 'artisan_category') \ + .with_certain_tag_category_related('distillery_type', 'distillery_type') \ + .with_certain_tag_category_related('producer_type', 'food_producer') + class EmployeeEstablishmentPositionsView(generics.ListAPIView): """Establishment by employee view."""