added image_url & preview_image_url to NewsDocument

This commit is contained in:
Anatoly 2019-10-24 19:53:09 +03:00
parent 2864576c0c
commit 81cdaa5c89
3 changed files with 42 additions and 2 deletions

View File

@ -0,0 +1,28 @@
# Generated by Django 2.2.4 on 2019-10-24 16:49
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('news', '0027_remove_news_playlist'),
]
operations = [
migrations.AlterField(
model_name='newsgallery',
name='image',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='news_gallery', to='gallery.Image', verbose_name='gallery'),
),
migrations.AlterField(
model_name='newsgallery',
name='news',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='news_gallery', to='news.News', verbose_name='news'),
),
migrations.AlterUniqueTogether(
name='newsgallery',
unique_together={('news', 'is_main')},
),
]

View File

@ -198,6 +198,15 @@ class News(BaseAttributes, TranslatedFieldsMixin):
if qs.exists():
return qs.first().image
@property
def image_url(self):
return self.main_image.image.url if self.main_image else None
@property
def preview_image_url(self):
if self.main_image:
return self.main_image.get_image_url(thumbnail_key='news_preview')
class NewsGalleryQuerySet(models.QuerySet):
"""QuerySet for model News"""
@ -211,11 +220,11 @@ class NewsGallery(models.Model):
news = models.ForeignKey(News, null=True,
related_name='news_gallery',
on_delete=models.SET_NULL,
on_delete=models.CASCADE,
verbose_name=_('news'))
image = models.ForeignKey('gallery.Image', null=True,
related_name='news_gallery',
on_delete=models.SET_NULL,
on_delete=models.CASCADE,
verbose_name=_('gallery'))
is_main = models.BooleanField(default=False,
verbose_name=_('Is the main image'))
@ -226,3 +235,4 @@ class NewsGallery(models.Model):
"""NewsGallery meta class."""
verbose_name = _('news gallery')
verbose_name_plural = _('news galleries')
unique_together = ('news', 'is_main')

View File

@ -24,6 +24,8 @@ class NewsDocument(Document):
country = fields.ObjectField(properties={'id': fields.IntegerField(),
'code': fields.KeywordField()})
web_url = fields.KeywordField(attr='web_url')
image_url = fields.KeywordField(attr='image_url')
preview_image_url = fields.KeywordField(attr='preview_image_url')
tags = fields.ObjectField(
properties={
'id': fields.IntegerField(attr='id'),