refactored collection app

This commit is contained in:
Anatoly 2019-08-28 12:22:13 +03:00
parent 0f6147c1dc
commit e22a54114b
3 changed files with 28 additions and 53 deletions

View File

@ -2,18 +2,25 @@ from rest_framework import serializers
from collection import models
from gallery import models as gallery_models
from location import models as location_models
class CollectionSerializer(serializers.ModelSerializer):
"""Collection serializer"""
filters = serializers.JSONField(required=True)
selectors = serializers.JSONField(required=True)
targets = serializers.JSONField(required=True)
block_size = serializers.JSONField(required=True)
block_size = serializers.JSONField()
image = serializers.PrimaryKeyRelatedField(
queryset=gallery_models.Image.objects.all(), required=True)
is_publish = serializers.BooleanField(required=True)
on_top = serializers.BooleanField(required=True)
queryset=gallery_models.Image.objects.all())
is_publish = serializers.BooleanField()
on_top = serializers.BooleanField()
start = serializers.DateTimeField(write_only=True)
end = serializers.DateTimeField(write_only=True)
filters = serializers.JSONField(write_only=True)
selectors = serializers.JSONField(write_only=True)
targets = serializers.JSONField(write_only=True)
country = serializers.PrimaryKeyRelatedField(
queryset=location_models.Country.objects.all(),
write_only=True)
class Meta:
model = models.Collection
@ -38,6 +45,7 @@ class CollectionItemSerializer(serializers.ModelSerializer):
class Meta:
model = models.CollectionItem
fields = [
'id',
'collection',
'item_type',
'item_ids'
@ -49,6 +57,7 @@ class GuideSerializer(serializers.ModelSerializer):
class Meta:
model = models.Guide
fields = [
'id',
'name',
'start',
'end',

View File

@ -7,6 +7,12 @@ app_name = 'collection'
urlpatterns = [
path('', views.CollectionListView.as_view(), name='list'),
path('<int:pk>/', views.CollectionRetrieveView.as_view(), name='detail'),
path('items/', views.CollectionItemListView.as_view(), name='collection-items-list'),
path('items/<int:pk>/', views.CollectionItemRetrieveView.as_view(),
name='collection-items-detail'),
path('guides/', views.GuideListView.as_view(), name='guides-list'),
path('guides/<int:pk>/', views.GuideRetrieveView.as_view(), name='guides-detail'),
]

View File

@ -25,6 +25,7 @@ class GuideViewMixin(generics.GenericAPIView):
# Views
# Collections
class CollectionListView(CollectionViewMixin, generics.ListAPIView):
"""List Collection view"""
pagination_class = None
@ -40,24 +41,11 @@ class CollectionListView(CollectionViewMixin, generics.ListAPIView):
class CollectionRetrieveView(CollectionViewMixin, generics.RetrieveAPIView):
"""Retrieve Collection view"""
permission_classes = (permissions.AllowAny,)
serializer_class = serializers.CollectionSerializer
class CollectionCreateView(CollectionViewMixin, generics.CreateAPIView):
"""Create Collection view"""
serializer_class = serializers.CollectionSerializer
class CollectionDestroyView(CollectionViewMixin, generics.DestroyAPIView):
"""Destroy Collection view"""
serializer_class = serializers.CollectionSerializer
class CollectionUpdateView(CollectionViewMixin, generics.UpdateAPIView):
"""Update Collection view"""
serializer = serializers.CollectionSerializer
# CollectionItem
class CollectionItemListView(CollectionItemViewMixin, generics.ListAPIView):
"""List CollectionItem view"""
permission_classes = (permissions.AllowAny,)
@ -66,24 +54,11 @@ class CollectionItemListView(CollectionItemViewMixin, generics.ListAPIView):
class CollectionItemRetrieveView(CollectionItemViewMixin, generics.RetrieveAPIView):
"""Retrieve CollectionItem view"""
permission_classes = (permissions.AllowAny,)
serializer_class = serializers.CollectionItemSerializer
class CollectionItemCreateView(CollectionItemViewMixin, generics.CreateAPIView):
"""Create CollectionItem view"""
serializer_class = serializers.CollectionItemSerializer
class CollectionItemDestroyView(CollectionItemViewMixin, generics.DestroyAPIView):
"""Destroy CollectionItem view"""
serializer_class = serializers.CollectionItemSerializer
class CollectionItemUpdateView(CollectionItemViewMixin, generics.UpdateAPIView):
"""Update CollectionItem view"""
serializer = serializers.CollectionItemSerializer
# Guide
class GuideListView(GuideViewMixin, generics.ListAPIView):
"""List Guide view"""
permission_classes = (permissions.AllowAny,)
@ -92,20 +67,5 @@ class GuideListView(GuideViewMixin, generics.ListAPIView):
class GuideRetrieveView(GuideViewMixin, generics.RetrieveAPIView):
"""Retrieve Guide view"""
permission_classes = (permissions.AllowAny,)
serializer_class = serializers.GuideSerializer
class GuideCreateView(GuideViewMixin, generics.CreateAPIView):
"""Create Guide view"""
serializer_class = serializers.GuideSerializer
class GuideDestroyView(GuideViewMixin, generics.DestroyAPIView):
"""Destroy Guide view"""
serializer_class = serializers.GuideSerializer
class GuideUpdateView(GuideViewMixin, generics.UpdateAPIView):
"""Update Guide view"""
serializer = serializers.GuideSerializer