X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/a6e0d18d6ccf59967c97ed4c7ba554b122778608..4ddb93217b0476206908c0f2b4a66989631bdef3:/src/catalogue/models/book.py diff --git a/src/catalogue/models/book.py b/src/catalogue/models/book.py index 8dc39fef2..69d71aef2 100644 --- a/src/catalogue/models/book.py +++ b/src/catalogue/models/book.py @@ -61,6 +61,7 @@ class Book(models.Model): gazeta_link = models.CharField(blank=True, max_length=240) wiki_link = models.CharField(blank=True, max_length=240) print_on_demand = models.BooleanField(_('print on demand'), default=False) + recommended = models.BooleanField(_('recommended'), default=False) # files generated during publication cover = EbookField( @@ -80,6 +81,9 @@ class Book(models.Model): parent = models.ForeignKey('self', blank=True, null=True, related_name='children') ancestor = models.ManyToManyField('self', blank=True, editable=False, related_name='descendant', symmetrical=False) + cached_author = models.CharField(blank=True, max_length=240, db_index=True) + has_audience = models.BooleanField(default=False) + objects = models.Manager() tagged = managers.ModelTaggedItemManager(Tag) tags = managers.TagDescriptor(Tag) @@ -119,7 +123,7 @@ class Book(models.Model): return ', '.join(self.tags.filter(category=category).values_list('name', flat=True)) def author_unicode(self): - return self.tag_unicode('author') + return self.cached_author def translator(self): translators = self.extra_info.get('translators') @@ -144,6 +148,9 @@ class Book(models.Model): author = u'' self.sort_key_author = author + self.cached_author = self.tag_unicode('author') + self.has_audience = 'audience' in self.extra_info + ret = super(Book, self).save(force_insert, force_update, **kwargs) return ret