def get_author_data(self): if self.author_id in self.__user_cache: return self.__user_cache[self.author_id] author = User.objects.using('read').get(id=self.author_id) author_data = render_user_info(author) self.__user_cache.update({self.author_id: author_data}) return author_data
def get_user_info(self): if self.user_id in self.__user_cache: return self.__user_cache[self.user_id] user = User.objects.using('read').get(id=self.user_id) user_data = render_user_info(user) self.__user_cache.update({self.user_id: user_data}) return user_data
def get_commentator_info(self): if self.commentator_id in self.__user_cache: return self.__user_cache[self.commentator_id] commentator = User.objects.using('read').get(id=self.commentator_id) commentator_info = render_user_info(commentator) self.__user_cache.update({self.commentator_id: commentator_info}) return commentator_info
def get_receiver_info(self): if self.receiver_id == 0: return {'user_id': 0, 'username': '', 'avatar': ''} if self.receiver_id in self.__user_cache: return self.__user_cache[self.receiver_id] receiver = User.objects.using('read').get(id=self.receiver_id) receiver_data = render_user_info(receiver) self.__user_cache.update({self.receiver_id: receiver_data}) return receiver_data
def drafts(request): user = request.user user_data = render_user_info(user) drafts = Article.objects.using('read').filter( Q(author_id=user.id) & Q(is_released=0)).order_by( '-update_at', '-created_at') drafts_count = drafts.count() context = {'user_data': user_data, 'drafts_count': drafts_count} return render(request, 'article/user_drafts.html', context)
def user_articles(request, author_id): author = get_object_or_404(User, id=author_id) author_data = render_user_info(author) article_count = get_user_article_count(author.id) praises_count = get_user_praises_count(author.id) context = { 'author_data': author_data, 'article_count': article_count, 'praises_count': praises_count, } return render(request, 'article/user_articles.html', context)