From 543265c7afe1ac0fe9749dc390b61c7aac66f8d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Fri, 8 Oct 2021 19:05:11 +0200 Subject: [PATCH] Move pomocne z models_all.py --- seminar/models/__init__.py | 1 + seminar/models/models_all.py | 52 +--------------------------- seminar/models/pomocne.py | 67 ++++++++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+), 51 deletions(-) create mode 100644 seminar/models/pomocne.py diff --git a/seminar/models/__init__.py b/seminar/models/__init__.py index 714e2caa..cb55c941 100644 --- a/seminar/models/__init__.py +++ b/seminar/models/__init__.py @@ -3,3 +3,4 @@ from .odevzdavatko import * from .base import * from .personalni import * from .soustredeni import * +from .pomocne import * diff --git a/seminar/models/models_all.py b/seminar/models/models_all.py index 129b1d1b..64dde9a1 100644 --- a/seminar/models/models_all.py +++ b/seminar/models/models_all.py @@ -37,6 +37,7 @@ from seminar.utils import aktivniResitele from . import personalni as pm from .base import SeminarModelBase +from .pomocne import Text logger = logging.getLogger(__name__) @@ -507,32 +508,7 @@ class Clanek(Problem): def node(self): return None -class Text(SeminarModelBase): - class Meta: - db_table = 'seminar_texty' - verbose_name = 'text' - verbose_name_plural = 'texty' - - na_web = models.TextField('text na web', blank=True, - help_text='Text ke zveřejnění na webu') - - do_cisla = models.TextField('text do čísla', blank=True, - help_text='Text ke zveřejnění v čísle') - - # má OneToOneField s: - # Reseni (je u něj jako reseni_cele) - - # obrázky mají návaznost opačným směrem (vazba z druhé strany) - def save(self, *args, **kwargs): - super().save(*args, **kwargs) - # *Node.save() aktualizuje název *Nodu. - for tn in self.textnode_set.all(): - tn.save() - - def __str__(self): - return str(self.na_web)[:20] - class Uloha(Problem): class Meta: db_table = 'seminar_ulohy' @@ -643,32 +619,6 @@ class Pohadka(SeminarModelBase): pass -class Obrazek(SeminarModelBase): - class Meta: - db_table = 'seminar_obrazky' - verbose_name = 'obrázek' - verbose_name_plural = 'obrázky' - - # Interní ID - id = models.AutoField(primary_key = True) - - na_web = models.ImageField('obrázek na web', upload_to='obrazky/%Y/%m/%d/', - null=True, blank=True) - - text = models.ForeignKey(Text, verbose_name='text', - help_text='text, ve kterém se obrázek vyskytuje', - null=False, blank=False, on_delete=models.CASCADE) - - do_cisla_barevny = models.FileField('barevný obrázek do čísla', - help_text = 'Barevná verze obrázku do čísla', - upload_to = 'obrazky/%Y/%m/%d/', blank=True, null=True) - - do_cisla_cernobily = models.FileField('černobílý obrázek do čísla', - help_text = 'Černobílá verze obrázku do čísla', - upload_to = 'obrazky/%Y/%m/%d/', blank=True, null=True) - - # TODO placement hint - chci ho tady / pred textem / za textem - class TreeNode(PolymorphicModel): class Meta: db_table = "seminar_nodes_treenode" diff --git a/seminar/models/pomocne.py b/seminar/models/pomocne.py new file mode 100644 index 00000000..eab52e70 --- /dev/null +++ b/seminar/models/pomocne.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- +import logging +from django.db import models + +from .base import SeminarModelBase + +logger = logging.getLogger(__name__) + + +class Text(SeminarModelBase): + class Meta: + db_table = 'seminar_texty' + verbose_name = 'text' + verbose_name_plural = 'texty' + + na_web = models.TextField( + 'text na web', blank=True, + help_text='Text ke zveřejnění na webu') + + do_cisla = models.TextField( + 'text do čísla', blank=True, + help_text='Text ke zveřejnění v čísle') + + # má OneToOneField s: + # Reseni (je u něj jako reseni_cele) + + # obrázky mají návaznost opačným směrem (vazba z druhé strany) + + def save(self, *args, **kwargs): + super().save(*args, **kwargs) + # *Node.save() aktualizuje název *Nodu. + for tn in self.textnode_set.all(): + tn.save() + + def __str__(self): + return str(self.na_web)[:20] + + +class Obrazek(SeminarModelBase): + class Meta: + db_table = 'seminar_obrazky' + verbose_name = 'obrázek' + verbose_name_plural = 'obrázky' + + # Interní ID + id = models.AutoField(primary_key=True) + + na_web = models.ImageField( + 'obrázek na web', upload_to='obrazky/%Y/%m/%d/', + null=True, blank=True) + + text = models.ForeignKey( + Text, verbose_name='text', + help_text='text, ve kterém se obrázek vyskytuje', + null=False, blank=False, on_delete=models.CASCADE) + + do_cisla_barevny = models.FileField( + 'barevný obrázek do čísla', + help_text='Barevná verze obrázku do čísla', + upload_to='obrazky/%Y/%m/%d/', blank=True, null=True) + + do_cisla_cernobily = models.FileField( + 'černobílý obrázek do čísla', + help_text='Černobílá verze obrázku do čísla', + upload_to='obrazky/%Y/%m/%d/', blank=True, null=True) + + # TODO placement hint - chci ho tady / pred textem / za textem