Fixed a bug in saving shelves for each bug (beware of lazy evaluation of querysets!).
authorMarek Stępniowski <marek@stepniowski.com>
Mon, 29 Sep 2008 14:06:50 +0000 (16:06 +0200)
committerMarek Stępniowski <marek@stepniowski.com>
Mon, 29 Sep 2008 14:06:50 +0000 (16:06 +0200)
apps/catalogue/models.py

index 18e7e80..60d2785 100644 (file)
@@ -164,7 +164,7 @@ class Book(models.Model):
             if not overwrite:
                 raise Book.AlreadyExists('Book %s already exists' % book_slug)
             # Save shelves for this book
             if not overwrite:
                 raise Book.AlreadyExists('Book %s already exists' % book_slug)
             # Save shelves for this book
-            book_shelves = book.tags.filter(category='set')
+            book_shelves = list(book.tags.filter(category='set'))
         
         book.title = book_info.title
         book._short_html = ''
         
         book.title = book_info.title
         book._short_html = ''
@@ -230,7 +230,7 @@ class Book(models.Model):
                 book_themes += themes
             
             book_themes = set(book_themes)
                 book_themes += themes
             
             book_themes = set(book_themes)
-            book.tags = list(book.tags) + list(book_themes) + list(book_shelves)
+            book.tags = list(book.tags) + list(book_themes) + book_shelves
         
         book.save()
         return book
         
         book.save()
         return book