add api for estab, social, plates, menu
This commit is contained in:
parent
a4d7430379
commit
efac785248
|
|
@ -5,7 +5,7 @@ from establishment import models
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentFilter(filters.FilterSet):
|
class EstablishmentFilter(filters.FilterSet):
|
||||||
"""Establishment filterset."""
|
"""Establishment filter set."""
|
||||||
|
|
||||||
tag_id = filters.NumberFilter(field_name='tags__metadata__id',)
|
tag_id = filters.NumberFilter(field_name='tags__metadata__id',)
|
||||||
award_id = filters.NumberFilter(field_name='awards__id',)
|
award_id = filters.NumberFilter(field_name='awards__id',)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
# Generated by Django 2.2.4 on 2019-09-11 12:52
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('establishment', '0015_delete_comment'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='establishment',
|
||||||
|
name='name',
|
||||||
|
),
|
||||||
|
]
|
||||||
55
apps/establishment/migrations/0017_auto_20190911_1258.py
Normal file
55
apps/establishment/migrations/0017_auto_20190911_1258.py
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
# Generated by Django 2.2.4 on 2019-09-11 12:58
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
import utils.models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('establishment', '0016_remove_establishment_name'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='establishment',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(default='', max_length=255, verbose_name='name'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='establishment',
|
||||||
|
name='address',
|
||||||
|
field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.PROTECT, to='location.Address', verbose_name='address'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='establishment',
|
||||||
|
name='description',
|
||||||
|
field=utils.models.TJSONField(blank=True, default=None, help_text='{"en-GB":"some text"}', null=True, verbose_name='description'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='establishment',
|
||||||
|
name='establishment_subtypes',
|
||||||
|
field=models.ManyToManyField(related_name='subtype_establishment', to='establishment.EstablishmentSubType', verbose_name='subtype'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='establishment',
|
||||||
|
name='establishment_type',
|
||||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='establishment', to='establishment.EstablishmentType', verbose_name='type'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='establishment',
|
||||||
|
name='price_level',
|
||||||
|
field=models.PositiveIntegerField(blank=True, default=None, null=True, verbose_name='price level'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='establishment',
|
||||||
|
name='public_mark',
|
||||||
|
field=models.PositiveIntegerField(blank=True, default=None, null=True, verbose_name='public mark'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='establishment',
|
||||||
|
name='toque_number',
|
||||||
|
field=models.PositiveIntegerField(blank=True, default=None, null=True, verbose_name='toque number'),
|
||||||
|
),
|
||||||
|
]
|
||||||
27
apps/establishment/migrations/0018_socialnetwork.py
Normal file
27
apps/establishment/migrations/0018_socialnetwork.py
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
# Generated by Django 2.2.4 on 2019-09-12 13:04
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('establishment', '0017_auto_20190911_1258'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='SocialNetwork',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('title', models.CharField(max_length=255, verbose_name='title')),
|
||||||
|
('url', models.URLField(verbose_name='URL')),
|
||||||
|
('establishment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='socials', to='establishment.Establishment', verbose_name='establishment')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'social network',
|
||||||
|
'verbose_name_plural': 'social networks',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -106,32 +106,29 @@ class EstablishmentQuerySet(models.QuerySet):
|
||||||
class Establishment(ProjectBaseMixin, ImageMixin, TranslatedFieldsMixin):
|
class Establishment(ProjectBaseMixin, ImageMixin, TranslatedFieldsMixin):
|
||||||
"""Establishment model."""
|
"""Establishment model."""
|
||||||
|
|
||||||
STR_FIELD_NAME = 'name'
|
name = models.CharField(_('name'), max_length=255, default='')
|
||||||
|
|
||||||
name = TJSONField(blank=True, null=True, default=None,
|
|
||||||
verbose_name=_('Name'), help_text='{"en-GB":"some text"}')
|
|
||||||
description = TJSONField(blank=True, null=True, default=None,
|
description = TJSONField(blank=True, null=True, default=None,
|
||||||
verbose_name=_('Description'),
|
verbose_name=_('description'),
|
||||||
help_text='{"en-GB":"some text"}')
|
help_text='{"en-GB":"some text"}')
|
||||||
public_mark = models.PositiveIntegerField(blank=True, null=True,
|
public_mark = models.PositiveIntegerField(blank=True, null=True,
|
||||||
default=None,
|
default=None,
|
||||||
verbose_name=_('Public mark'),)
|
verbose_name=_('public mark'),)
|
||||||
toque_number = models.PositiveIntegerField(blank=True, null=True,
|
toque_number = models.PositiveIntegerField(blank=True, null=True,
|
||||||
default=None,
|
default=None,
|
||||||
verbose_name=_('Toque number'),)
|
verbose_name=_('toque number'),)
|
||||||
establishment_type = models.ForeignKey(EstablishmentType,
|
establishment_type = models.ForeignKey(EstablishmentType,
|
||||||
related_name='establishment',
|
related_name='establishment',
|
||||||
on_delete=models.PROTECT,
|
on_delete=models.PROTECT,
|
||||||
verbose_name=_('Type'))
|
verbose_name=_('type'))
|
||||||
establishment_subtypes = models.ManyToManyField(EstablishmentSubType,
|
establishment_subtypes = models.ManyToManyField(EstablishmentSubType,
|
||||||
related_name='subtype_establishment',
|
related_name='subtype_establishment',
|
||||||
verbose_name=_('Subtype'))
|
verbose_name=_('subtype'))
|
||||||
address = models.ForeignKey(Address, blank=True, null=True, default=None,
|
address = models.ForeignKey(Address, blank=True, null=True, default=None,
|
||||||
on_delete=models.PROTECT,
|
on_delete=models.PROTECT,
|
||||||
verbose_name=_('Address'))
|
verbose_name=_('address'))
|
||||||
price_level = models.PositiveIntegerField(blank=True, null=True,
|
price_level = models.PositiveIntegerField(blank=True, null=True,
|
||||||
default=None,
|
default=None,
|
||||||
verbose_name=_('Price level'))
|
verbose_name=_('price level'))
|
||||||
website = models.URLField(blank=True, null=True, default=None,
|
website = models.URLField(blank=True, null=True, default=None,
|
||||||
verbose_name=_('Web site URL'))
|
verbose_name=_('Web site URL'))
|
||||||
facebook = models.URLField(blank=True, null=True, default=None,
|
facebook = models.URLField(blank=True, null=True, default=None,
|
||||||
|
|
@ -155,6 +152,9 @@ class Establishment(ProjectBaseMixin, ImageMixin, TranslatedFieldsMixin):
|
||||||
verbose_name = _('Establishment')
|
verbose_name = _('Establishment')
|
||||||
verbose_name_plural = _('Establishments')
|
verbose_name_plural = _('Establishments')
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return f'id:{self.id}-{self.name}'
|
||||||
|
|
||||||
# todo: recalculate toque_number
|
# todo: recalculate toque_number
|
||||||
def recalculate_toque_number(self):
|
def recalculate_toque_number(self):
|
||||||
self.toque_number = 4
|
self.toque_number = 4
|
||||||
|
|
@ -326,6 +326,7 @@ class ContactEmail(models.Model):
|
||||||
|
|
||||||
class Plate(TranslatedFieldsMixin, models.Model):
|
class Plate(TranslatedFieldsMixin, models.Model):
|
||||||
"""Plate model."""
|
"""Plate model."""
|
||||||
|
STR_FIELD_NAME = 'name'
|
||||||
|
|
||||||
name = TJSONField(
|
name = TJSONField(
|
||||||
blank=True, null=True, default=None, verbose_name=_('name'),
|
blank=True, null=True, default=None, verbose_name=_('name'),
|
||||||
|
|
@ -346,12 +347,12 @@ class Plate(TranslatedFieldsMixin, models.Model):
|
||||||
verbose_name = _('plate')
|
verbose_name = _('plate')
|
||||||
verbose_name_plural = _('plates')
|
verbose_name_plural = _('plates')
|
||||||
|
|
||||||
def __str__(self):
|
|
||||||
return f'plate_id:{self.id}'
|
|
||||||
|
|
||||||
|
|
||||||
class Menu(TranslatedFieldsMixin, BaseAttributes):
|
class Menu(TranslatedFieldsMixin, BaseAttributes):
|
||||||
"""Menu model."""
|
"""Menu model."""
|
||||||
|
|
||||||
|
STR_FIELD_NAME = 'category'
|
||||||
|
|
||||||
category = TJSONField(
|
category = TJSONField(
|
||||||
blank=True, null=True, default=None, verbose_name=_('category'),
|
blank=True, null=True, default=None, verbose_name=_('category'),
|
||||||
help_text='{"en-GB":"some text"}')
|
help_text='{"en-GB":"some text"}')
|
||||||
|
|
@ -362,3 +363,18 @@ class Menu(TranslatedFieldsMixin, BaseAttributes):
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _('menu')
|
verbose_name = _('menu')
|
||||||
verbose_name_plural = _('menu')
|
verbose_name_plural = _('menu')
|
||||||
|
|
||||||
|
|
||||||
|
class SocialNetwork(models.Model):
|
||||||
|
establishment = models.ForeignKey(
|
||||||
|
'Establishment', verbose_name=_('establishment'),
|
||||||
|
related_name='socials', on_delete=models.CASCADE)
|
||||||
|
title = models.CharField(_('title'), max_length=255)
|
||||||
|
url = models.URLField(_('URL'))
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = _('social network')
|
||||||
|
verbose_name_plural = _('social networks')
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.title
|
||||||
|
|
|
||||||
3
apps/establishment/serializers/__init__.py
Normal file
3
apps/establishment/serializers/__init__.py
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
from establishment.serializers.common import *
|
||||||
|
from establishment.serializers.web import *
|
||||||
|
from establishment.serializers.back import *
|
||||||
55
apps/establishment/serializers/back.py
Normal file
55
apps/establishment/serializers/back.py
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
from establishment.serializers import EstablishmentBaseSerializer, PlateSerializer
|
||||||
|
from rest_framework import serializers
|
||||||
|
from establishment import models
|
||||||
|
from main.models import Currency
|
||||||
|
|
||||||
|
class EstablishmentListCreateSerializer(EstablishmentBaseSerializer):
|
||||||
|
"""Establishment create serializer"""
|
||||||
|
|
||||||
|
type_id = serializers.PrimaryKeyRelatedField(
|
||||||
|
source='establishment_type',
|
||||||
|
queryset=models.EstablishmentType.objects.all(), write_only=True
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = models.Establishment
|
||||||
|
fields = [
|
||||||
|
'id',
|
||||||
|
'name',
|
||||||
|
'website',
|
||||||
|
'phone',
|
||||||
|
'email',
|
||||||
|
'price_level',
|
||||||
|
'toque_number',
|
||||||
|
'type_id',
|
||||||
|
'type'
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class SocialNetworkSerializers(serializers.ModelSerializer):
|
||||||
|
"""Social network serializers."""
|
||||||
|
class Meta:
|
||||||
|
model = models.SocialNetwork
|
||||||
|
fields = [
|
||||||
|
'id',
|
||||||
|
'establishment',
|
||||||
|
'title',
|
||||||
|
'url',
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class PlatesSerializers(PlateSerializer):
|
||||||
|
"""Social network serializers."""
|
||||||
|
name = serializers.JSONField()
|
||||||
|
currency_id = serializers.PrimaryKeyRelatedField(
|
||||||
|
source='currency',
|
||||||
|
queryset=Currency.objects.all(), write_only=True
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = models.Plate
|
||||||
|
fields = PlateSerializer.Meta.fields + [
|
||||||
|
'name',
|
||||||
|
'currency_id',
|
||||||
|
'menu'
|
||||||
|
]
|
||||||
|
|
@ -32,7 +32,7 @@ class ContactEmailsSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
class PlateSerializer(serializers.ModelSerializer):
|
class PlateSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
name_translated = serializers.CharField(allow_null=True)
|
name_translated = serializers.CharField(allow_null=True, read_only=True)
|
||||||
currency = CurrencySerializer(read_only=True)
|
currency = CurrencySerializer(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
@ -47,14 +47,31 @@ class PlateSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
class MenuSerializers(serializers.ModelSerializer):
|
class MenuSerializers(serializers.ModelSerializer):
|
||||||
plates = PlateSerializer(read_only=True, many=True, source='plate_set')
|
plates = PlateSerializer(read_only=True, many=True, source='plate_set')
|
||||||
|
category = serializers.JSONField()
|
||||||
category_translated = serializers.CharField(read_only=True)
|
category_translated = serializers.CharField(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Menu
|
model = models.Menu
|
||||||
fields = [
|
fields = [
|
||||||
'id',
|
'id',
|
||||||
|
'category',
|
||||||
'category_translated',
|
'category_translated',
|
||||||
'plates'
|
'plates',
|
||||||
|
'establishment'
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class MenuRUDSerializers(serializers.ModelSerializer):
|
||||||
|
plates = PlateSerializer(read_only=True, many=True, source='plate_set')
|
||||||
|
category = serializers.JSONField()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = models.Menu
|
||||||
|
fields = [
|
||||||
|
'id',
|
||||||
|
'category',
|
||||||
|
'plates',
|
||||||
|
'establishment'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -127,8 +144,7 @@ class EstablishmentEmployeeSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
class EstablishmentBaseSerializer(serializers.ModelSerializer):
|
class EstablishmentBaseSerializer(serializers.ModelSerializer):
|
||||||
"""Base serializer for Establishment model."""
|
"""Base serializer for Establishment model."""
|
||||||
name_translated = serializers.CharField(allow_null=True)
|
type = EstablishmentTypeSerializer(source='establishment_type', read_only=True)
|
||||||
type = EstablishmentTypeSerializer(source='establishment_type')
|
|
||||||
subtypes = EstablishmentSubTypeSerializer(many=True)
|
subtypes = EstablishmentSubTypeSerializer(many=True)
|
||||||
address = AddressSerializer()
|
address = AddressSerializer()
|
||||||
tags = MetaDataContentSerializer(many=True)
|
tags = MetaDataContentSerializer(many=True)
|
||||||
|
|
@ -140,7 +156,7 @@ class EstablishmentBaseSerializer(serializers.ModelSerializer):
|
||||||
model = models.Establishment
|
model = models.Establishment
|
||||||
fields = [
|
fields = [
|
||||||
'id',
|
'id',
|
||||||
'name_translated',
|
'name',
|
||||||
'price_level',
|
'price_level',
|
||||||
'toque_number',
|
'toque_number',
|
||||||
'public_mark',
|
'public_mark',
|
||||||
0
apps/establishment/serializers/web.py
Normal file
0
apps/establishment/serializers/web.py
Normal file
19
apps/establishment/urls/back.py
Normal file
19
apps/establishment/urls/back.py
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
"""Establishment url patterns for backoffice."""
|
||||||
|
|
||||||
|
from django.urls import path
|
||||||
|
|
||||||
|
from establishment import views
|
||||||
|
|
||||||
|
app_name = 'establishment'
|
||||||
|
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
path('', views.EstablishmentListCreateView.as_view(), name='list'),
|
||||||
|
path('<int:pk>/', views.EstablishmentRetrieveView.as_view(), name='detail'),
|
||||||
|
path('menus/', views.MenuListCreateView.as_view(), name='menu-list'),
|
||||||
|
path('menus/<int:pk>/', views.MenuRUDView.as_view(), name='menu-rud'),
|
||||||
|
path('plates/', views.PlateListCreateView.as_view(), name='plates'),
|
||||||
|
path('plates/<int:pk>/', views.PlateListCreateView.as_view(), name='plate-rud'),
|
||||||
|
path('socials/', views.SocialListCreateView.as_view(), name='socials'),
|
||||||
|
path('socials/<int:pk>/', views.SocialRUDView.as_view(), name='social-rud'),
|
||||||
|
]
|
||||||
3
apps/establishment/views/__init__.py
Normal file
3
apps/establishment/views/__init__.py
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
from establishment.views.common import *
|
||||||
|
from establishment.views.web import *
|
||||||
|
from establishment.views.back import *
|
||||||
50
apps/establishment/views/back.py
Normal file
50
apps/establishment/views/back.py
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
"""Establishment app views."""
|
||||||
|
|
||||||
|
from rest_framework import generics
|
||||||
|
|
||||||
|
from establishment import models, serializers
|
||||||
|
from establishment.views.common import EstablishmentMixin
|
||||||
|
|
||||||
|
|
||||||
|
class EstablishmentListCreateView(EstablishmentMixin, generics.ListCreateAPIView):
|
||||||
|
"""Establishment list/create view."""
|
||||||
|
queryset = models.Establishment.objects.all()
|
||||||
|
serializer_class = serializers.EstablishmentListCreateSerializer
|
||||||
|
|
||||||
|
|
||||||
|
class MenuListCreateView(generics.ListCreateAPIView):
|
||||||
|
"""Menu list create view."""
|
||||||
|
serializer_class = serializers.MenuSerializers
|
||||||
|
queryset = models.Menu.objects.all()
|
||||||
|
|
||||||
|
|
||||||
|
class MenuRUDView(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
"""Menu RUD view."""
|
||||||
|
serializer_class = serializers.MenuRUDSerializers
|
||||||
|
queryset = models.Menu.objects.all()
|
||||||
|
|
||||||
|
|
||||||
|
class SocialListCreateView(generics.ListCreateAPIView):
|
||||||
|
"""Social list create view."""
|
||||||
|
serializer_class = serializers.SocialNetworkSerializers
|
||||||
|
queryset = models.SocialNetwork.objects.all()
|
||||||
|
pagination_class = None
|
||||||
|
|
||||||
|
|
||||||
|
class SocialRUDView(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
"""Social RUD view."""
|
||||||
|
serializer_class = serializers.SocialNetworkSerializers
|
||||||
|
queryset = models.SocialNetwork.objects.all()
|
||||||
|
|
||||||
|
|
||||||
|
class PlateListCreateView(generics.ListCreateAPIView):
|
||||||
|
"""Plate list create view."""
|
||||||
|
serializer_class = serializers.PlatesSerializers
|
||||||
|
queryset = models.Plate.objects.all()
|
||||||
|
pagination_class = None
|
||||||
|
|
||||||
|
|
||||||
|
class PlateRUDView(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
"""Social RUD view."""
|
||||||
|
serializer_class = serializers.PlatesSerializers
|
||||||
|
queryset = models.Plate.objects.all()
|
||||||
15
apps/establishment/views/common.py
Normal file
15
apps/establishment/views/common.py
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
"""Establishment app views."""
|
||||||
|
|
||||||
|
from rest_framework import permissions
|
||||||
|
|
||||||
|
from establishment import models
|
||||||
|
|
||||||
|
|
||||||
|
class EstablishmentMixin:
|
||||||
|
"""Establishment mixin."""
|
||||||
|
|
||||||
|
permission_classes = (permissions.AllowAny,)
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
"""Overrided method 'get_queryset'."""
|
||||||
|
return models.Establishment.objects.all().prefetch_actual_employees()
|
||||||
|
|
@ -7,16 +7,7 @@ from comment import models as comment_models
|
||||||
from establishment import filters
|
from establishment import filters
|
||||||
from establishment import models, serializers
|
from establishment import models, serializers
|
||||||
from utils.views import JWTGenericViewMixin
|
from utils.views import JWTGenericViewMixin
|
||||||
|
from establishment.views import EstablishmentMixin
|
||||||
|
|
||||||
class EstablishmentMixin:
|
|
||||||
"""Establishment mixin."""
|
|
||||||
|
|
||||||
permission_classes = (permissions.AllowAny,)
|
|
||||||
|
|
||||||
def get_queryset(self):
|
|
||||||
"""Overrided method 'get_queryset'."""
|
|
||||||
return models.Establishment.objects.all().prefetch_actual_employees()
|
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentListView(EstablishmentMixin, JWTGenericViewMixin, generics.ListAPIView):
|
class EstablishmentListView(EstablishmentMixin, JWTGenericViewMixin, generics.ListAPIView):
|
||||||
|
|
@ -25,7 +16,7 @@ class EstablishmentListView(EstablishmentMixin, JWTGenericViewMixin, generics.Li
|
||||||
filter_class = filters.EstablishmentFilter
|
filter_class = filters.EstablishmentFilter
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
"""Overrided method 'get_queryset'."""
|
"""Overridden method 'get_queryset'."""
|
||||||
qs = super(EstablishmentListView, self).get_queryset()
|
qs = super(EstablishmentListView, self).get_queryset()
|
||||||
return qs.by_country_code(code=self.request.country_code)\
|
return qs.by_country_code(code=self.request.country_code)\
|
||||||
.annotate_in_favorites(user=self.request.user)
|
.annotate_in_favorites(user=self.request.user)
|
||||||
|
|
@ -8,7 +8,7 @@ urlpatterns = [
|
||||||
# path('account/', include('account.urls.web')),
|
# path('account/', include('account.urls.web')),
|
||||||
# path('advertisement/', include('advertisement.urls.web')),
|
# path('advertisement/', include('advertisement.urls.web')),
|
||||||
# path('collection/', include('collection.urls.web')),
|
# path('collection/', include('collection.urls.web')),
|
||||||
# path('establishments/', include('establishment.urls.web')),
|
path('establishments/', include('establishment.urls.back')),
|
||||||
# path('news/', include('news.urls.web')),
|
# path('news/', include('news.urls.web')),
|
||||||
# path('partner/', include('partner.urls.web')),
|
# path('partner/', include('partner.urls.web')),
|
||||||
]
|
]
|
||||||
Loading…
Reference in New Issue
Block a user