def get_post(self, post_id): from models import Post, Tag, Subscribed try: posts = Post.objects.comments_count().filter(pk=post_id) posts = Subscribed.join_is_subscribed(self.user, posts) posts = Tag.attach_tags(posts) post = posts[0] except (Post.DoesNotExist, IndexError): raise PostInterfaceError("Message not found.") return post
def paginate(queryset, numpage=1, per_page=20): from models import Tag paginate = Paginator( queryset.select_related('user', 'user__profile'), per_page ) try: page = paginate.page(numpage) except (EmptyPage, InvalidPage): page = paginate.page(paginate.num_pages) posts = page.object_list posts = Tag.attach_tags(posts) return posts
def select_related_tag(self): from models import Tag return Tag.attach_tags(self)