X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/47325136a002f9079aa95f84759d7923d924e748..89495af70dd1b941c4f5889f10fc33e8450eeb70:/src/catalogue/models/book.py diff --git a/src/catalogue/models/book.py b/src/catalogue/models/book.py index 5194fe1d6..f954e1a90 100644 --- a/src/catalogue/models/book.py +++ b/src/catalogue/models/book.py @@ -544,6 +544,15 @@ class Book(models.Model): else: return None + def update_popularity(self): + count = self.tags.filter(category='set').values('user').order_by('user').distinct().count() + try: + pop = self.popularity + pop.count = count + pop.save() + except BookPopularity.DoesNotExist: + BookPopularity.objects.create(book=self, count=count) + def add_file_fields(): for format_ in Book.formats: @@ -563,3 +572,8 @@ def add_file_fields(): ).contribute_to_class(Book, field_name) add_file_fields() + + +class BookPopularity(models.Model): + book = models.OneToOneField(Book, related_name='popularity') + count = models.IntegerField(default=0)