gault-millau/apps/collection/serializers/common.py
2019-08-28 12:22:13 +03:00

68 lines
1.8 KiB
Python

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"""
block_size = serializers.JSONField()
image = serializers.PrimaryKeyRelatedField(
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
fields = [
'id',
'name',
'start',
'end',
'image',
'is_publish',
'on_top',
'filters',
'selectors',
'targets',
'country',
'block_size',
]
class CollectionItemSerializer(serializers.ModelSerializer):
"""CollectionItem serializer"""
class Meta:
model = models.CollectionItem
fields = [
'id',
'collection',
'item_type',
'item_ids'
]
class GuideSerializer(serializers.ModelSerializer):
"""Guide serializer"""
class Meta:
model = models.Guide
fields = [
'id',
'name',
'start',
'end',
'parent',
'advertorials',
'collection'
]