Kod źródłowy modułu watchdog_kj_kultura.staticpages.models

import os

from autoslug.fields import AutoSlugField
from django.conf import settings
from django.core.urlresolvers import reverse
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
from django.utils.translation import ugettext_lazy as _
from model_utils.fields import AutoCreatedField, AutoLastModifiedField
from model_utils.models import TimeStampedModel
from mptt.models import MPTTModel, TreeForeignKey
from tinymce.models import HTMLField
from django.utils.functional import cached_property


class PageQuerySet(models.QuerySet):

    def visible(self):
        return self.filter(visible=True)


@python_2_unicode_compatible
[dokumenty]class Page(MPTTModel): name = models.CharField(verbose_name=_("Name"), max_length=50) slug = AutoSlugField(populate_from='name', verbose_name=_("Slug"), unique=True) user = models.ForeignKey(settings.AUTH_USER_MODEL) parent = TreeForeignKey('self', verbose_name=_("Parent"), null=True, blank=True, related_name='children', db_index=True) objects = PageQuerySet.as_manager() content = HTMLField(verbose_name=_("Content")) visible = models.BooleanField(verbose_name=_("Public visible"), help_text=_("Check to mark page as public visible"), default=False) # Field as in TimeStampedModel created = AutoCreatedField(_('created')) modified = AutoLastModifiedField(_('modified')) def use_map(self): return '[map]' in self.content use_map.short_description = _('Use map?') use_map.boolean = True class Meta: verbose_name = _("Page") verbose_name_plural = _("Pages") ordering = ['created', ] def __str__(self): return self.name def get_absolute_url(self): return reverse('staticpages:details', kwargs={'slug': self.slug})
class AttachmentQuerySet(models.QuerySet): pass @python_2_unicode_compatible
[dokumenty]class Attachment(TimeStampedModel): file = models.FileField(_("File")) objects = AttachmentQuerySet.as_manager() class Meta: verbose_name = _("Attachment") verbose_name_plural = _("Attachments") ordering = ['created', ] @cached_property def filename(self): return os.path.basename(self.file.name) def __str__(self): return self.filename def get_absolute_url(self): return reverse('staticpages:details', kwargs={'slug': self.slug})