from django.db import models\r
from django.utils.translation import ugettext_lazy as _\r
\r
+\r
+class Catalog(models.Model):\r
+ """Represents a dictionary of libraries"""\r
+\r
+ name = models.CharField(_('name'), max_length = 120, null = False)\r
+ slug = models.SlugField(_('slug'), max_length = 120, unique = True, db_index = True)\r
+\r
+ class Meta:\r
+ verbose_name = _('catalog')\r
+ verbose_name_plural = _('catalogs')\r
+ \r
+ def __unicode__(self):\r
+ return self.name\r
+ \r
+ @models.permalink\r
+ def get_absolute_url(self):\r
+ return ('libraries_catalog_view', [self.slug])\r
+ \r
+ \r
class Library(models.Model):\r
"""Represent a single library in the libraries dictionary"""\r
\r
- #slug = models.SlugField(_('slug'), max_length=120, unique=True, db_index=True)\r
- name = models.CharField(_('name'), max_length=120, blank=True)
- url = models.CharField(_('url'), max_length=120, blank=True)
- description = models.TextField(_('description'), blank=True)\r
+ name = models.CharField(_('name'), max_length = 120, blank = True)
+ slug = models.SlugField(_('slug'), max_length = 120, unique = True, db_index = True, null = True)
+ catalog = models.ForeignKey(Catalog, null = False, related_name = 'libraries', on_delete = models.PROTECT)\r
+ url = models.CharField(_('url'), max_length = 120, blank = True)
+ description = models.TextField(_('description'), blank = True)\r
\r
class Meta:\r
verbose_name = _('library')\r
\r
@models.permalink\r
def get_absolute_url(self):\r
- return ('infopage', [self.slug])\r
+ return ('libraries_library_view', [self.catalog.slug, self.slug])
\ No newline at end of file