def get_absolute_url(self):
return reverse("catalogue_author", args=[self.slug])
+ @property
+ def name(self):
+ return f"{self.last_name}, {self.first_name}"
+
@property
def pd_year(self):
if self.year_of_death:
def get_absolute_url(self):
return reverse("catalogue_book", args=[self.slug])
+
+ @property
+ def wluri(self):
+ return f'https://wolnelektury.pl/katalog/lektura/{self.slug}/'
def authors_str(self):
return ", ".join(str(author) for author in self.authors.all())
+ authors_str.admin_order_field = 'authors__last_name'
+ authors_str.short_description = _('Author')
def translators_str(self):
return ", ".join(str(author) for author in self.translators.all())
+ translators_str.admin_order_field = 'translators__last_name'
+ translators_str.short_description = _('Translator')
def get_estimated_costs(self):
return {
class CollectionCategory(models.Model):
name = models.CharField(_("name"), max_length=255)
parent = models.ForeignKey('self', models.SET_NULL, related_name='children', null=True, blank=True, verbose_name=_("parent"))
+ notes = models.TextField(_("notes"), blank=True)
class Meta:
ordering = ('parent__name', 'name')
name = models.CharField(_("name"), max_length=255)
slug = models.SlugField(max_length=255, unique=True)
category = models.ForeignKey(CollectionCategory, models.SET_NULL, null=True, blank=True, verbose_name=_("category"))
+ notes = models.TextField(_("notes"), blank=True)
class Meta:
ordering = ('category', 'name')