1
queryset을 주석 수로 필터링하고 주석 수를 기준으로 내림차순으로 정렬하는 방법은 무엇입니까?Django의 의견 수별 필터 개체
Post.objects.filter(comment_count > 0).order_by('-comment_count')
과 같은 작업을 시도했지만 작동하지 않습니다.
감사합니다.
내 포스트 모델 :
class Post(models.Model):
nickname = models.CharField(max_length=200, default=u'anonymous')
body = models.TextField()
pub_date = models.DateTimeField('Date Published', auto_now_add=True)
up_date = models.DateTimeField('Date Updated', auto_now=True)
category = models.ForeignKey(Category, related_name='post_category')
counter = models.IntegerField(default=0)
status = models.IntegerField(choices=POST_STATUS, default=0)
votes = models.IntegerField('Votes', default=0)
이 편집 :
그냥 다음 코드from django.contrib.contenttypes import generic
from django.contrib.comments.models import Comment
comments = generic.GenericRelation(Comment, object_id_field="object_pk")
을 추가 그리고 내보기 :
post_list = Post.objects.annotate(comment_count=Count('comments')).filter(status=STATUS.ACCEPTED).filter(comment_count__gt=0).order_by('-comment_count')
가 내 모델을 고정 코드보기. 그들은 현재 잘 작동하고 있습니다.
감사합니다.
감사 :
이 더 많은 정보를 원하시면 다음을 참조하십시오. 이 코드는''comments ''가 무엇인지 어떻게 알 수 있습니까? 내 게시물 모델에는 주석에 대한 참조가 없습니다. 먼저 해당 참조를 포스트 모델에 추가해야합니까? – rabbid
'comment_set'와 같은 코멘트 모델에 대한 참조가 있다면 그것을 사용하십시오. 당신이 당신의 모델을 게시하지 않았을 때, 나는 단지 추측이었습니다. – MattH
게시물 모델 코드가 포함되었습니다. 내가 장고의 내장 된 주석 모델을 사용하고 있는데 그것에 대한 참조가 없다. 나는 그들의 튜토리얼 (http://docs.djangoproject.com/en/1.3/ref/contrib/comments/)을 따르고있다. 이전에 Disqus를 구현했지만 지금은 대신 Django의 주석을 사용하려고합니다. 그래서 내가 처음 만지면됩니다. 그렇다면 내 Post 모델에서 Comments 모델에 대한 참조를 만드는 방법은 무엇입니까? 고마워요! – rabbid