fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Tagged view optimization.
[wolnelektury.git]
/
apps
/
catalogue
/
models
/
book.py
diff --git
a/apps/catalogue/models/book.py
b/apps/catalogue/models/book.py
index
e80b8af
..
d69cf2a
100644
(file)
--- a/
apps/catalogue/models/book.py
+++ b/
apps/catalogue/models/book.py
@@
-75,7
+75,7
@@
class Book(models.Model):
self.sort_key = sortify(self.title)
self.sort_key = sortify(self.title)
- ret = super(Book, self).save(force_insert, force_update)
+ ret = super(Book, self).save(force_insert, force_update
, **kwargs
)
if reset_short_html:
self.reset_short_html()
if reset_short_html:
self.reset_short_html()
@@
-511,10
+511,11
@@
class Book(models.Model):
"""
# get relevant books and their tags
objects = cls.tagged.with_all(tags)
"""
# get relevant books and their tags
objects = cls.tagged.with_all(tags)
+ parents = objects.filter(html_file='').only('slug')
# eliminate descendants
l_tags = Tag.objects.filter(category='book',
# eliminate descendants
l_tags = Tag.objects.filter(category='book',
- slug__in=[book.book_tag_slug() for book in
objec
ts.iterator()])
- descendants_keys = [book.pk for book in cls.tagged.with_any(l_tags).iterator()]
+ slug__in=[book.book_tag_slug() for book in
paren
ts.iterator()])
+ descendants_keys = [book.pk for book in cls.tagged.with_any(l_tags).
only('pk').
iterator()]
if descendants_keys:
objects = objects.exclude(pk__in=descendants_keys)
if descendants_keys:
objects = objects.exclude(pk__in=descendants_keys)