refactored EstablishmentBase serializer
This commit is contained in:
parent
ca5f588466
commit
2191a505a5
|
|
@ -1,5 +1,4 @@
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from tag.serializers import TagBaseSerializer
|
|
||||||
from establishment import models
|
from establishment import models
|
||||||
from establishment.serializers import (
|
from establishment.serializers import (
|
||||||
EstablishmentBaseSerializer, PlateSerializer, ContactEmailsSerializer,
|
EstablishmentBaseSerializer, PlateSerializer, ContactEmailsSerializer,
|
||||||
|
|
@ -7,7 +6,6 @@ from establishment.serializers import (
|
||||||
EstablishmentTypeSerializer)
|
EstablishmentTypeSerializer)
|
||||||
|
|
||||||
from utils.decorators import with_base_attributes
|
from utils.decorators import with_base_attributes
|
||||||
from utils.serializers import TranslatedField
|
|
||||||
|
|
||||||
from main.models import Currency
|
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):
|
class SocialNetworkSerializers(serializers.ModelSerializer):
|
||||||
"""Social network serializers."""
|
"""Social network serializers."""
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,20 @@
|
||||||
"""Establishment serializers."""
|
"""Establishment serializers."""
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
from comment import models as comment_models
|
from comment import models as comment_models
|
||||||
from comment.serializers import common as comment_serializers
|
from comment.serializers import common as comment_serializers
|
||||||
from establishment import models
|
from establishment import models
|
||||||
from favorites.models import Favorites
|
from favorites.models import Favorites
|
||||||
from location.serializers import AddressBaseSerializer
|
from location.serializers import AddressBaseSerializer
|
||||||
from main.serializers import AwardSerializer, CurrencySerializer
|
from main.serializers import AwardSerializer, CurrencySerializer
|
||||||
from tag import models as tag_models
|
|
||||||
from review import models as review_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 timetable.serialziers import ScheduleRUDSerializer
|
||||||
from utils import exceptions as utils_exceptions
|
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):
|
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):
|
class EstablishmentTypeSerializer(serializers.ModelSerializer):
|
||||||
"""Serializer for EstablishmentType model."""
|
"""Serializer for EstablishmentType model."""
|
||||||
|
|
||||||
|
|
@ -158,18 +177,17 @@ class EstablishmentCategoryTagListSerializer(serializers.ModelSerializer):
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentTagListSerializer(serializers.ModelSerializer):
|
class EstablishmentTagSerializer(serializers.ModelSerializer):
|
||||||
"""Serializer for establishment tags."""
|
"""Serializer for intermediate model EstablishmentTag."""
|
||||||
label_translated = TranslatedField(source='tag.label_translated')
|
id = serializers.IntegerField(source='tag.id')
|
||||||
category = EstablishmentCategoryTagListSerializer(source='tag.category')
|
label_translated = serializers.CharField(source='tag.label_translated')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
"""Meta class."""
|
"""Meta class."""
|
||||||
model = tag_models.Tag
|
model = models.EstablishmentTag
|
||||||
fields = [
|
fields = [
|
||||||
'id',
|
'id',
|
||||||
'label_translated',
|
'label_translated'
|
||||||
'category',
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -180,7 +198,7 @@ class EstablishmentBaseSerializer(ProjectModelSerializer):
|
||||||
slug = serializers.SlugField(allow_blank=False, required=True, max_length=50)
|
slug = serializers.SlugField(allow_blank=False, required=True, max_length=50)
|
||||||
address = AddressBaseSerializer()
|
address = AddressBaseSerializer()
|
||||||
in_favorites = serializers.BooleanField(allow_null=True)
|
in_favorites = serializers.BooleanField(allow_null=True)
|
||||||
tags = EstablishmentTagListSerializer(many=True)
|
tags = EstablishmentTagSerializer(many=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
"""Meta class."""
|
"""Meta class."""
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ app_name = 'establishment'
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', views.EstablishmentListView.as_view(), name='list'),
|
path('', views.EstablishmentListView.as_view(), name='list'),
|
||||||
path('tags/', views.EstablishmentTagListView.as_view(), name='tags'),
|
|
||||||
path('recent-reviews/', views.EstablishmentRecentReviewListView.as_view(),
|
path('recent-reviews/', views.EstablishmentRecentReviewListView.as_view(),
|
||||||
name='recent-reviews'),
|
name='recent-reviews'),
|
||||||
path('slug/<slug:slug>/', views.EstablishmentRetrieveView.as_view(), name='detail'),
|
path('slug/<slug:slug>/', views.EstablishmentRetrieveView.as_view(), name='detail'),
|
||||||
|
|
|
||||||
|
|
@ -184,7 +184,8 @@ class EstablishmentSubtypeRUDView(generics.RetrieveUpdateDestroyAPIView):
|
||||||
queryset = models.EstablishmentSubType.objects.all()
|
queryset = models.EstablishmentSubType.objects.all()
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentTagListCreateView(generics.ListCreateAPIView):
|
# todo: next task
|
||||||
"""Establishment tag list/create view."""
|
# class EstablishmentTagListCreateView(generics.CreateAPIView):
|
||||||
serializer_class = serializers.EstablishmentTagListSerializer
|
# """Establishment tag list/create view."""
|
||||||
queryset = models.EstablishmentTag.objects.all()
|
# 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()
|
return qs.by_distance_from_point(**{k: v for k, v in filter_kwargs.items()
|
||||||
if v is not None})
|
if v is not None})
|
||||||
return qs
|
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