Tags & disable elasticsearch indexing

This commit is contained in:
evgeniy-st 2019-09-23 16:06:40 +03:00
parent dc4b63d8b2
commit 009533d764
7 changed files with 21 additions and 15 deletions

View File

@ -1,9 +1,9 @@
"""Main app serializers."""
from rest_framework import serializers
from advertisement.serializers.web import AdvertisementSerializer
from location.serializers import CountrySerializer
from main import models
from utils.serializers import TranslatedField
class FeatureSerializer(serializers.ModelSerializer):
@ -109,16 +109,16 @@ class AwardSerializer(AwardBaseSerializer):
class MetaDataContentSerializer(serializers.ModelSerializer):
id = serializers.IntegerField(source='metadata.id', read_only=True, )
label_translated = serializers.CharField(
source='metadata.label_translated', read_only=True, allow_null=True)
"""MetaData content serializer."""
id = serializers.IntegerField(source='metadata.id', read_only=True)
label_translated = TranslatedField(source='metadata.label_translated')
class Meta:
"""Meta class."""
model = models.MetaDataContent
fields = [
'id',
'label_translated',
]
fields = ('id', 'label_translated')
class CurrencySerializer(serializers.ModelSerializer):

View File

@ -1,5 +1,6 @@
"""News app models."""
from django.db import models
from django.contrib.contenttypes import fields as generic
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
from rest_framework.reverse import reverse
@ -40,7 +41,7 @@ class NewsQuerySet(models.QuerySet):
def with_related(self):
"""Return qs with related objects."""
return self.select_related('news_type')
return self.select_related('news_type', 'country').prefetch_related('tags')
class News(BaseAttributes, TranslatedFieldsMixin):
@ -78,6 +79,7 @@ class News(BaseAttributes, TranslatedFieldsMixin):
country = models.ForeignKey('location.Country', blank=True, null=True,
on_delete=models.SET_NULL,
verbose_name=_('country'))
tags = generic.GenericRelation(to='main.MetaDataContent')
objects = NewsQuerySet.as_manager()

View File

@ -2,6 +2,7 @@
from rest_framework import serializers
from location import models as location_models
from location.serializers import CountrySimpleSerializer
from main.serializers import MetaDataContentSerializer
from news import models
from utils.serializers import TranslatedField
@ -25,7 +26,7 @@ class NewsBaseSerializer(serializers.ModelSerializer):
# related fields
news_type = NewsTypeSerializer(read_only=True)
country = CountrySimpleSerializer(read_only=True)
tags = MetaDataContentSerializer(read_only=True, many=True)
class Meta:
"""Meta class."""
@ -39,7 +40,7 @@ class NewsBaseSerializer(serializers.ModelSerializer):
'image_url',
'preview_image_url',
'news_type',
'country',
'tags',
)
@ -47,6 +48,7 @@ class NewsDetailSerializer(NewsBaseSerializer):
"""News detail serializer."""
description_translated = TranslatedField()
country = CountrySimpleSerializer(read_only=True)
class Meta(NewsBaseSerializer.Meta):
"""Meta class."""
@ -58,6 +60,8 @@ class NewsDetailSerializer(NewsBaseSerializer):
'playlist',
'is_highlighted',
'is_publish',
'author',
'country',
)

View File

@ -4,7 +4,7 @@ from search_indexes import views
router = routers.SimpleRouter()
router.register(r'news', views.NewsDocumentViewSet, basename='news')
# router.register(r'news', views.NewsDocumentViewSet, basename='news') # temporarily disabled
router.register(r'establishments', views.EstablishmentDocumentViewSet, basename='establishment')
urlpatterns = router.urls

View File

@ -24,7 +24,7 @@ ELASTICSEARCH_DSL = {
ELASTICSEARCH_INDEX_NAMES = {
'search_indexes.documents.news': 'development_news',
# 'search_indexes.documents.news': 'development_news', # temporarily disabled
'search_indexes.documents.establishment': 'development_establishment',
}

View File

@ -64,6 +64,6 @@ ELASTICSEARCH_DSL = {
ELASTICSEARCH_INDEX_NAMES = {
'search_indexes.documents.news': 'local_news',
# 'search_indexes.documents.news': 'local_news',
'search_indexes.documents.establishment': 'local_establishment',
}

View File

@ -22,6 +22,6 @@ ELASTICSEARCH_DSL = {
ELASTICSEARCH_INDEX_NAMES = {
'search_indexes.documents.news': 'stage_news',
# 'search_indexes.documents.news': 'stage_news', #temporarily disabled
'search_indexes.documents.establishment': 'stage_establishment',
}