2013-12-23 2 views
0

나는 뉴스 피드를위한 액션 모델을 가지고있다. 좋아요 :같은 날짜에 생성 된 작업을 어떻게 표시 할 수 있습니까?

class Action(models.Model): 
    actor = models.ForeignKey(User) 
    target_object_id = models.PositiveIntegerField() 
    target_content_type= models.ForeignKey(
       ContentType, 
       related_name='target' 
     ) 
    target = generic.GenericForeignKey(
       'target_content_type', 
       'target_object_id' 
     ) 
    verb = models.CharField(max_length=200) 
    date = models.DateTimeField(default=datetime.now()) 

    def __unicode__(self): 
       return "{0} {1}".format(
         self.actor, 
         self.verb, 

         ) 

오늘 만든 작품을 하나씩 표시하고 싶습니다. Bu 나는 다음과 같은 오래된 행동을 보여주고 싶다.

22.12.2013 - 2 posts created for A Blog 
22.12.2013 - x followed 3 people 
21.12.2013 - 3 posts created for B Blog 
21.12.2013 - 4 channel created 

이것은 사용자의 뉴스 피드이다. 날짜별로 어떻게 할 수 있습니까?

+0

당신이 게시 할 수 없습니다 귀하의 의견을? – niekas

답변

0

이 같이보기에 템플릿 컨텍스트를 준비 할 수 있습니다 :

from datetime import datetime, timedelta 
from django.shortcuts import render_to_response 

def my_view(request): 
    yesterday = datetime.today().date() - timedelta(1) 
    return render_to_response('my_template.html', { 
     'new_actions': Action.objects.filter(date__gt=yesterday), 
     'old_actions_count': len(Action.objects.filter(date__lt=yesterday)), 
    }) 

그런 다음 당신은 당신의 템플릿의 컨텍스트를 사용할 수 있습니다 : 액션 모델에 사용

{% for action in new_actions %} 
    {{ action }} 
{% endfor %} 
There was {{ old_actions_count }} older actions. 
+0

아니요. 작동하지 않을 것입니다. 액션 모델은 다른 행동을 취함 (다음, 생성, 댓글 대 vs) –

관련 문제