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

View File

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

View File

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

View File

@ -4,7 +4,7 @@ from search_indexes import views
router = routers.SimpleRouter() 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') router.register(r'establishments', views.EstablishmentDocumentViewSet, basename='establishment')
urlpatterns = router.urls urlpatterns = router.urls

View File

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

View File

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

View File

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