From e88fea10e7a86ec54072a85b34b6c9f4457602a2 Mon Sep 17 00:00:00 2001 From: Anatoly Date: Fri, 23 Aug 2019 12:59:10 +0300 Subject: [PATCH] added fields to model Collection, refactored Collection serializer, --- .../migrations/0003_auto_20190823_0935.py | 26 +++++++++++++++++++ apps/collection/models.py | 11 +++++--- apps/collection/serializers/common.py | 8 +++--- 3 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 apps/collection/migrations/0003_auto_20190823_0935.py diff --git a/apps/collection/migrations/0003_auto_20190823_0935.py b/apps/collection/migrations/0003_auto_20190823_0935.py new file mode 100644 index 00000000..e61090e5 --- /dev/null +++ b/apps/collection/migrations/0003_auto_20190823_0935.py @@ -0,0 +1,26 @@ +# Generated by Django 2.2.4 on 2019-08-23 09:35 + +import django.contrib.postgres.fields.jsonb +from django.db import migrations +import easy_thumbnails.fields +import utils.methods + + +class Migration(migrations.Migration): + + dependencies = [ + ('collection', '0002_collection_is_publish'), + ] + + operations = [ + migrations.AddField( + model_name='collection', + name='block_size', + field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, default=None, help_text='{"width": "250px", "height":"250px"}', null=True, verbose_name='collection block properties'), + ), + migrations.AddField( + model_name='collection', + name='image', + field=easy_thumbnails.fields.ThumbnailerImageField(blank=True, default=None, null=True, upload_to=utils.methods.image_path, verbose_name='Image'), + ), + ] diff --git a/apps/collection/models.py b/apps/collection/models.py index 6b5d4146..a55fd832 100644 --- a/apps/collection/models.py +++ b/apps/collection/models.py @@ -1,7 +1,8 @@ +from django.contrib.postgres.fields import JSONField from django.db import models from django.utils.translation import gettext_lazy as _ -from django.contrib.postgres.fields import JSONField -from utils.models import ProjectBaseMixin + +from utils.models import ProjectBaseMixin, ImageMixin # Mixins @@ -37,7 +38,8 @@ class CollectionQuerySet(models.QuerySet): return self.filter(is_publish=True) -class Collection(ProjectBaseMixin, CollectionNameMixin, CollectionDateMixin): +class Collection(ProjectBaseMixin, CollectionNameMixin, + ImageMixin, CollectionDateMixin): """Collection model.""" is_publish = models.BooleanField( default=False, verbose_name=_('Publish status')) @@ -52,6 +54,9 @@ class Collection(ProjectBaseMixin, CollectionNameMixin, CollectionDateMixin): default=None, help_text='{"key":"value"}') country = models.ForeignKey( 'location.Country', verbose_name=_('country'), on_delete=models.CASCADE) + block_size = JSONField( + _('collection block properties'), null=True, blank=True, + default=None, help_text='{"width": "250px", "height":"250px"}') objects = CollectionQuerySet.as_manager() diff --git a/apps/collection/serializers/common.py b/apps/collection/serializers/common.py index eb5b99b5..c00922ed 100644 --- a/apps/collection/serializers/common.py +++ b/apps/collection/serializers/common.py @@ -8,12 +8,10 @@ class CollectionSerializer(serializers.ModelSerializer): class Meta: model = models.Collection fields = [ + 'id', 'name', - 'start', - 'end', - 'filters', - 'selectors', - 'targets', + 'block_size', + 'image' ]