Added book_count field to Tag model.
[wolnelektury.git] / migrations / 001_add_book_count_to_shelf.py
diff --git a/migrations/001_add_book_count_to_shelf.py b/migrations/001_add_book_count_to_shelf.py
new file mode 100644 (file)
index 0000000..4af55a1
--- /dev/null
@@ -0,0 +1,16 @@
+from django.core.management import setup_environ
+import settings
+
+setup_environ(settings)
+
+from catalogue.models import Tag, Book
+from django.db import connection
+
+query = 'ALTER TABLE catalogue_tag ADD COLUMN book_count integer NOT NULL DEFAULT 0'
+
+cursor = connection.cursor()
+cursor.execute(query)
+
+for shelf in Tag.objects.filter(category='set'):
+    shelf.book_count = len(Book.tagged.with_all(shelf))
+    shelf.save()