我有新闻源的动作模型。像这样:
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,
)
如果他们今天创作,我想展示一个人的行动。我想展示这样的旧动作:
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 :(得分: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.