Django 如何在同一日期显示创建的操作?
我有一个新闻提要的动作模型。像这样:Django 如何在同一日期显示创建的操作?,django,orm,Django,Orm,我有一个新闻提要的动作模型。像这样: class Action(models.Model): actor = models.ForeignKey(User) target_object_id = models.PositiveIntegerField() target_content_type= models.ForeignKey( ContentType, related_name='target'
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
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)),
})
这是用户的新闻源。如何根据日期执行此操作?您可以在视图中准备模板上下文,如下所示:
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
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.
不,这行不通。动作模型有不同的动作(跟随、创建、评论vs)你能发布你的动作模型视图吗?