From ff98e9508e1505e4330b1167697f7dd514b4ee37 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Tue, 16 Feb 2016 11:29:46 +0100 Subject: [PATCH 1/1] bulk_create in update_popularity --- src/catalogue/management/commands/update_popularity.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/catalogue/management/commands/update_popularity.py b/src/catalogue/management/commands/update_popularity.py index 3a9905673..df9dedf49 100644 --- a/src/catalogue/management/commands/update_popularity.py +++ b/src/catalogue/management/commands/update_popularity.py @@ -17,8 +17,10 @@ class Command(BaseCommand): BookPopularity.objects.all().delete() books_with_popularity = Book.objects.filter(tag_relations__tag__category='set').only('id').distinct()\ .annotate(pop=Count('tag_relations__tag__user', distinct=True)) + pop_list = [] for book in books_with_popularity: - BookPopularity.objects.create(book=book, count=book.pop) + pop_list.append(BookPopularity(book=book, count=book.pop)) books_without_popularity = Book.objects.exclude(tag_relations__tag__category='set') for book in books_without_popularity: - BookPopularity.objects.create(book=book, count=0) + pop_list.append(BookPopularity(book=book, count=0)) + BookPopularity.objects.bulk_create(pop_list, batch_size=512) -- 2.20.1