fixes of news
This commit is contained in:
parent
7ebd338331
commit
e7107cfd04
18
apps/news/migrations/0021_auto_20191021_1120.py
Normal file
18
apps/news/migrations/0021_auto_20191021_1120.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 2.2.4 on 2019-10-21 11:20
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('news', '0020_remove_news_author'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='news',
|
||||
name='slug',
|
||||
field=models.SlugField(max_length=255, unique=True, verbose_name='News slug'),
|
||||
),
|
||||
]
|
||||
|
|
@ -113,7 +113,7 @@ class News(BaseAttributes, TranslatedFieldsMixin):
|
|||
start = models.DateTimeField(verbose_name=_('Start'))
|
||||
end = models.DateTimeField(blank=True, null=True, default=None,
|
||||
verbose_name=_('End'))
|
||||
slug = models.SlugField(unique=True, max_length=50,
|
||||
slug = models.SlugField(unique=True, max_length=255,
|
||||
verbose_name=_('News slug'))
|
||||
playlist = models.IntegerField(_('playlist'))
|
||||
state = models.PositiveSmallIntegerField(default=WAITING, choices=STATE_CHOICES,
|
||||
|
|
|
|||
|
|
@ -7,10 +7,13 @@ from pprint import pprint
|
|||
def transfer_news():
|
||||
news_type, _ = NewsType.objects.get_or_create(name="News")
|
||||
|
||||
queryset = PageTexts.objects.all().annotate(news_type=Value(news_type.id, output_field=IntegerField()))
|
||||
queryset = PageTexts.objects.filter(page__type="News").annotate(news_type=Value(news_type.id, output_field=IntegerField()),
|
||||
playlist=Value(1, output_field=IntegerField()))
|
||||
# queryset = PageTexts.objects.all().annotate(news_type=Value(news_type.id, output_field=IntegerField()))
|
||||
queryset = queryset.annotate(attachment_file_name=F('page__attachment_file_name'))
|
||||
queryset = queryset.annotate(template=F('page__template'))
|
||||
|
||||
|
||||
serialized_data = NewsSerializer(data=list(queryset.values()), many=True)
|
||||
if serialized_data.is_valid():
|
||||
serialized_data.save()
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
from rest_framework import serializers
|
||||
from news.models import News
|
||||
from uuid import uuid4
|
||||
import datetime
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
class NewsSerializer(serializers.ModelSerializer):
|
||||
|
|
@ -8,10 +11,13 @@ class NewsSerializer(serializers.ModelSerializer):
|
|||
description = serializers.SerializerMethodField()
|
||||
title = serializers.SerializerMethodField()
|
||||
template = serializers.SerializerMethodField()
|
||||
state = serializers.SerializerMethodField()
|
||||
created_at = serializers.DateTimeField(source="start", format='%m-%d-%Y %H:%M:%S')
|
||||
|
||||
class Meta:
|
||||
model = News
|
||||
fields = (
|
||||
"created_at",
|
||||
"state",
|
||||
"template",
|
||||
"image_url",
|
||||
|
|
@ -19,11 +25,32 @@ class NewsSerializer(serializers.ModelSerializer):
|
|||
"title",
|
||||
"description",
|
||||
"slug",
|
||||
"news_type"
|
||||
"news_type",
|
||||
"playlist"
|
||||
)
|
||||
|
||||
def get_template(self, obj):
|
||||
return obj.template
|
||||
if obj.template == "main":
|
||||
return News.MAIN
|
||||
elif obj.template == "main.pdf.erb":
|
||||
return News.MAIN_PDF_ERB
|
||||
else:
|
||||
return News.NEWSPAPER
|
||||
|
||||
def get_state(self, obj):
|
||||
if obj.state == "published":
|
||||
return News.PUBLISHED
|
||||
elif obj.state == "hidden":
|
||||
return News.HIDDEN
|
||||
elif obj.state == "published_exclusive":
|
||||
return News.PUBLISHED_EXCLUSIVE
|
||||
else:
|
||||
return News.WAITING
|
||||
|
||||
# django.db.utils.IntegrityError: "start" NOT NULL
|
||||
# def get_start(self, obj):
|
||||
# # return obj.created_at
|
||||
# return datetime.datetime.now().isoformat()
|
||||
|
||||
def get_title(self, obj):
|
||||
return f'{"en-GB": {obj.title}}'
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user