0

'인기있는 피드'를 구현하고 싶습니다. 가장 좋아하는 게시물 시리즈를 보여주고 싶습니다.Django : 인기있는 피드에 대한 좋아요를 기반으로 개체 주문

다음은 추상 모델 스키마입니다.

(Model) Like 
     user = User 
     content_type = Post, User, Group 
     object_id = 22 

(Model) Post 
     user = User 
     content = '' 
     created_at = '12082017' 

는 views.py에서, 나는 나의 포스트 모델은, 내가 order_by을 사용할 수 없습니다 필드처럼이없는

Post.objects.order_by('-like')[:30] 

때문에, 같은 정렬의 검색어를 싶어.

나는 그때 이후로 좋아하는 시간과 현재 시간을 추적하기 위해 score 필드를 추가하는 것에 대해 생각하고 있습니다. 그것이 효과가 있다고 생각합니까? :)

또한 인기있는 피드를 만드는 방법에 대한 생각이나 조언은 높이 평가 될 것입니다.

Reverse Generic Relations

귀하의 게시물 모델에 반대 일반적인 관계를 추가하면 다음 좋아하는 수와 순서의 수를 얻을 수 있습니다 : 당신은 무언가가이 목적을 위해 반대 일반적인 관계라고해야

답변

1

주셔서 감사합니다 인기 기반 주문에 대한 좋아요를 기반으로합니다. 게시물 모델에서

추가 :

Post.objects.annotate(like_count=Count('likes')).order_by('-like_count') 

당신은 각 게시물 개체에 대한 추가 필드 'like_count'를 얻을 것이다 플러스는 명령을 받게됩니다 :

likes = GenericRelation(Like) 

아마 주문에 대한 주석을 사용 좋아하는 사람의 수에 따라

+0

이 작품! :) 정말 고맙습니다. Great –

+0

도움이 된 것을 기쁘게 생각합니다. – rajkris

+0

https://stackoverflow.com/questions/48005427/calling-another-serializer-from-the-serializer-messes-up-uri –