Novy model kompletni.
This commit is contained in:
parent
327d0e5835
commit
14d834209c
1 changed files with 79 additions and 1 deletions
|
@ -104,7 +104,7 @@ class Skola(SeminarModelBase):
|
|||
blank=True, null=True)
|
||||
|
||||
def __str__(self):
|
||||
return force_unicode(u'%s, %s, %s' % (self.nazev, self.ulice, self.mesto))
|
||||
return force_unicode(u'%s, %s, %s' % (self.nazev, self.ulice, self.mesto))
|
||||
|
||||
@reversion.register(ignore_duplicates=True)
|
||||
@python_2_unicode_compatible
|
||||
|
@ -1066,6 +1066,84 @@ class Text(SeminarModelBase):
|
|||
help_text=u'Text ke zveřejnění v čísle')
|
||||
|
||||
# obrázky mají návaznost opačným směrem (vazba z druhé strany)
|
||||
class TreeNode(models.Model):
|
||||
class Meta:
|
||||
abstract = True
|
||||
root = models.ForeignKey('self',
|
||||
null = True,
|
||||
blank = False,
|
||||
on_delete = models.SET_NULL, # Vrcholy s null kořenem jsou sirotci bez ročníku
|
||||
first_child = models.ForeignKey('self',
|
||||
null = True,
|
||||
blank = True,
|
||||
on_delete=models.SET_NULL,
|
||||
verbose_name="první potomek")
|
||||
succ = models.ForeignKey('self',
|
||||
null = True,
|
||||
blank = True,
|
||||
on_delete=models.SET_NULL,
|
||||
verbose_name="další element na stejné úrovni")
|
||||
|
||||
class RocnikNode(TreeNode):
|
||||
class Meta:
|
||||
db_table = 'seminar_nodes_rocnik'
|
||||
verbose_name = 'Ročník (Node)'
|
||||
verbose_name_plural = 'Ročníky (Node)'
|
||||
rocnik = models.ForeignKey(Rocnik,
|
||||
on_delete = models.PROTECT, # Pokud chci mazat ročník, musím si Node pořešit ručně
|
||||
verbose_name = "ročník")
|
||||
|
||||
class CisloNode(TreeNode):
|
||||
class Meta:
|
||||
db_table = 'seminar_nodes_cislo'
|
||||
verbose_name = 'Číslo (Node)'
|
||||
verbose_name_plural = 'Čísla (Node)'
|
||||
cislo = models.ForeignKey(Cislo,
|
||||
on_delete = models.PROTECT, # Pokud chci mazat číslo, musím si Node pořešit ručně
|
||||
verbose_name = "číslo")
|
||||
|
||||
class MezicisloNode(TreeNode):
|
||||
class Meta:
|
||||
db_table = 'seminar_nodes_mezicislo'
|
||||
verbose_name = 'Mezičíslo (Node)'
|
||||
verbose_name_plural = 'Mezičísla (Node)'
|
||||
|
||||
class TemaVCisleNode(TreeNode):
|
||||
""" Obsahuje příspěvky k tématu v daném čísle """
|
||||
class Meta:
|
||||
db_table = 'seminar_nodes_temavcisle'
|
||||
verbose_name = 'Téma v čísle (Node)'
|
||||
verbose_name_plural = 'Témata v čísle (Node)'
|
||||
tema = models.ForeignKey(Tema,
|
||||
on_delete=models.PROTECT, # Pokud chci mazat téma, musím si Node pořešit ručně
|
||||
verbose_name = "téma v čísle")
|
||||
|
||||
class KonferaNode(TreeNode):
|
||||
class Meta:
|
||||
db_table = 'seminar_nodes_konfera'
|
||||
verbose_name = 'Konfera (Node)'
|
||||
verbose_name_plural = 'Konfery (Node)'
|
||||
|
||||
class ClanekNode(TreeNode):
|
||||
class Meta:
|
||||
db_table = 'seminar_nodes_clanek'
|
||||
verbose_name = 'Článek (Node)'
|
||||
verbose_name_plural = 'Články (Node)'
|
||||
|
||||
class UlohaNode(TreeNode):
|
||||
class Meta:
|
||||
db_table = 'seminar_nodes_uloha'
|
||||
verbose_name = 'Úloha (Node)'
|
||||
verbose_name_plural = 'Úlohy (Node)'
|
||||
|
||||
class TextNode(TreeNode):
|
||||
class Meta:
|
||||
db_table = 'seminar_nodes_obsah'
|
||||
verbose_name = 'Text (Node)'
|
||||
verbose_name_plural = 'Text (Node)'
|
||||
text = models.ForeignKey(Text,
|
||||
on_delete=models.PROTECT,
|
||||
verbose_name = 'text')
|
||||
|
||||
## FIXME: Logiku přesunout do views.
|
||||
#@python_2_unicode_compatible
|
||||
|
|
Loading…
Reference in a new issue