refactored EstablishmentBase serializer
This commit is contained in:
parent
ca5f588466
commit
2191a505a5
|
|
@ -1,5 +1,4 @@
|
|||
from rest_framework import serializers
|
||||
from tag.serializers import TagBaseSerializer
|
||||
from establishment import models
|
||||
from establishment.serializers import (
|
||||
EstablishmentBaseSerializer, PlateSerializer, ContactEmailsSerializer,
|
||||
|
|
@ -7,7 +6,6 @@ from establishment.serializers import (
|
|||
EstablishmentTypeSerializer)
|
||||
|
||||
from utils.decorators import with_base_attributes
|
||||
from utils.serializers import TranslatedField
|
||||
|
||||
from main.models import Currency
|
||||
|
||||
|
|
@ -76,22 +74,6 @@ class EstablishmentRUDSerializer(EstablishmentBaseSerializer):
|
|||
]
|
||||
|
||||
|
||||
class EstablishmentTagCategoryListSerializer(serializers.ModelSerializer):
|
||||
"""Serializer for intermediate model EstablishmentTypeTagCategories."""
|
||||
id = serializers.IntegerField(source='tag_category.id')
|
||||
label_translated = TranslatedField(source='tag_category.label_translated')
|
||||
tags = TagBaseSerializer(source='tag_category.tags', many=True)
|
||||
|
||||
class Meta:
|
||||
"""Meta class."""
|
||||
model = models.EstablishmentTypeTagCategory
|
||||
fields = [
|
||||
'id',
|
||||
'label_translated',
|
||||
'tags',
|
||||
]
|
||||
|
||||
|
||||
class SocialNetworkSerializers(serializers.ModelSerializer):
|
||||
"""Social network serializers."""
|
||||
class Meta:
|
||||
|
|
|
|||
|
|
@ -1,17 +1,20 @@
|
|||
"""Establishment serializers."""
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from rest_framework import serializers
|
||||
|
||||
from comment import models as comment_models
|
||||
from comment.serializers import common as comment_serializers
|
||||
from establishment import models
|
||||
from favorites.models import Favorites
|
||||
from location.serializers import AddressBaseSerializer
|
||||
from main.serializers import AwardSerializer, CurrencySerializer
|
||||
from tag import models as tag_models
|
||||
from review import models as review_models
|
||||
from tag import models as tag_models
|
||||
from tag.serializers import TagBaseSerializer
|
||||
from timetable.serialziers import ScheduleRUDSerializer
|
||||
from utils import exceptions as utils_exceptions
|
||||
from utils.serializers import TranslatedField, ProjectModelSerializer
|
||||
from utils.serializers import ProjectModelSerializer
|
||||
from utils.serializers import TranslatedField
|
||||
|
||||
|
||||
class ContactPhonesSerializer(serializers.ModelSerializer):
|
||||
|
|
@ -86,6 +89,22 @@ class MenuRUDSerializers(ProjectModelSerializer):
|
|||
]
|
||||
|
||||
|
||||
class EstablishmentTagCategoryListSerializer(serializers.ModelSerializer):
|
||||
"""Serializer for intermediate model EstablishmentTypeTagCategories."""
|
||||
id = serializers.IntegerField(source='tag_category.id')
|
||||
label_translated = TranslatedField(source='tag_category.label_translated')
|
||||
tags = TagBaseSerializer(source='tag_category.tags', many=True)
|
||||
|
||||
class Meta:
|
||||
"""Meta class."""
|
||||
model = models.EstablishmentTypeTagCategory
|
||||
fields = [
|
||||
'id',
|
||||
'label_translated',
|
||||
'tags',
|
||||
]
|
||||
|
||||
|
||||
class EstablishmentTypeSerializer(serializers.ModelSerializer):
|
||||
"""Serializer for EstablishmentType model."""
|
||||
|
||||
|
|
@ -158,18 +177,17 @@ class EstablishmentCategoryTagListSerializer(serializers.ModelSerializer):
|
|||
]
|
||||
|
||||
|
||||
class EstablishmentTagListSerializer(serializers.ModelSerializer):
|
||||
"""Serializer for establishment tags."""
|
||||
label_translated = TranslatedField(source='tag.label_translated')
|
||||
category = EstablishmentCategoryTagListSerializer(source='tag.category')
|
||||
class EstablishmentTagSerializer(serializers.ModelSerializer):
|
||||
"""Serializer for intermediate model EstablishmentTag."""
|
||||
id = serializers.IntegerField(source='tag.id')
|
||||
label_translated = serializers.CharField(source='tag.label_translated')
|
||||
|
||||
class Meta:
|
||||
"""Meta class."""
|
||||
model = tag_models.Tag
|
||||
model = models.EstablishmentTag
|
||||
fields = [
|
||||
'id',
|
||||
'label_translated',
|
||||
'category',
|
||||
'label_translated'
|
||||
]
|
||||
|
||||
|
||||
|
|
@ -180,7 +198,7 @@ class EstablishmentBaseSerializer(ProjectModelSerializer):
|
|||
slug = serializers.SlugField(allow_blank=False, required=True, max_length=50)
|
||||
address = AddressBaseSerializer()
|
||||
in_favorites = serializers.BooleanField(allow_null=True)
|
||||
tags = EstablishmentTagListSerializer(many=True)
|
||||
tags = EstablishmentTagSerializer(many=True)
|
||||
|
||||
class Meta:
|
||||
"""Meta class."""
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ app_name = 'establishment'
|
|||
|
||||
urlpatterns = [
|
||||
path('', views.EstablishmentListView.as_view(), name='list'),
|
||||
path('tags/', views.EstablishmentTagListView.as_view(), name='tags'),
|
||||
path('recent-reviews/', views.EstablishmentRecentReviewListView.as_view(),
|
||||
name='recent-reviews'),
|
||||
path('slug/<slug:slug>/', views.EstablishmentRetrieveView.as_view(), name='detail'),
|
||||
|
|
|
|||
|
|
@ -184,7 +184,8 @@ class EstablishmentSubtypeRUDView(generics.RetrieveUpdateDestroyAPIView):
|
|||
queryset = models.EstablishmentSubType.objects.all()
|
||||
|
||||
|
||||
class EstablishmentTagListCreateView(generics.ListCreateAPIView):
|
||||
"""Establishment tag list/create view."""
|
||||
serializer_class = serializers.EstablishmentTagListSerializer
|
||||
queryset = models.EstablishmentTag.objects.all()
|
||||
# todo: next task
|
||||
# class EstablishmentTagListCreateView(generics.CreateAPIView):
|
||||
# """Establishment tag list/create view."""
|
||||
# serializer_class = serializers.EstablishmentTagCategoryListCreateSerializer
|
||||
# queryset = models.EstablishmentTag.objects.all()
|
||||
|
|
|
|||
|
|
@ -174,16 +174,3 @@ class EstablishmentNearestRetrieveView(EstablishmentListView, generics.ListAPIVi
|
|||
return qs.by_distance_from_point(**{k: v for k, v in filter_kwargs.items()
|
||||
if v is not None})
|
||||
return qs
|
||||
|
||||
|
||||
class EstablishmentTagListView(generics.ListAPIView):
|
||||
"""List view for establishment tags."""
|
||||
serializer_class = serializers.EstablishmentTagListSerializer
|
||||
permission_classes = (permissions.AllowAny,)
|
||||
pagination_class = None
|
||||
|
||||
def get_queryset(self):
|
||||
"""Override get_queryset method"""
|
||||
return MetaDataContent.objects.by_content_type(app_label='establishment',
|
||||
model='establishment')\
|
||||
.distinct('metadata__label')
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user