change field parameter in model Guide (gm-241)

This commit is contained in:
Anatoly 2019-10-24 16:41:41 +03:00
parent f484219ec7
commit 84fb0aec70
4 changed files with 27 additions and 5 deletions

View File

@ -0,0 +1,19 @@
# Generated by Django 2.2.4 on 2019-10-24 13:34
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('collection', '0015_auto_20191023_0715'),
]
operations = [
migrations.AlterField(
model_name='guide',
name='collection',
field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='collection.Collection', verbose_name='collection'),
),
]

View File

@ -101,8 +101,9 @@ class Guide(ProjectBaseMixin, CollectionNameMixin, CollectionDateMixin):
advertorials = JSONField(
_('advertorials'), null=True, blank=True,
default=None, help_text='{"key":"value"}')
collection = models.ForeignKey(
Collection, verbose_name=_('collection'), on_delete=models.CASCADE)
collection = models.ForeignKey(Collection, on_delete=models.CASCADE,
null=True, blank=True, default=None,
verbose_name=_('collection'))
objects = GuideQuerySet.as_manager()

View File

@ -194,13 +194,15 @@ class News(BaseAttributes, TranslatedFieldsMixin):
@property
def main_image(self):
return self.news_gallery.main_images().first().image
qs = self.news_gallery.main_image()
if qs.exists():
return qs.first().image
class NewsGalleryQuerySet(models.QuerySet):
"""QuerySet for model News"""
def main_images(self):
def main_image(self):
"""Return objects with flag is_main is True"""
return self.filter(is_main=True)

View File

@ -281,7 +281,7 @@ class NewsBackOfficeGallerySerializer(serializers.ModelSerializer):
if news.news_gallery.filter(image=image).exists():
raise serializers.ValidationError({'detail': _('Image is already added')})
if is_main and news.news_gallery.main_images().exists():
if is_main and news.news_gallery.main_image().exists():
raise serializers.ValidationError({'detail': _('Main image is already added')})
attrs['news'] = news