为什么我不能从查询集中获取字段的日期时间值?

时间:2015-12-22 19:23:18

标签: django django-models

这可能听起来很愚蠢,但一段时间以来一直困扰着我。我有这个模型:

class LastVisited(models.Model):
    user = models.ForeignKey(User)
    topic = models.ForeignKey(Topic)
    lastvisited = models.DateTimeField(auto_now=True)

我想获得lastvisited,以便将其与datetime.now()进行比较。

所以当我查询它时:

lastv = LastVisited.objects.filter(topic_id=t.id, user_id=request.user.id)
print 'lastv\n', lastv
print 'lastv date \n',  lastv.lastvisited

我得到了

[<LastVisitedTopic: LastVisitedTopic object>]

lastv.lastvisited为空。

我试图从queryset获取值:

lastv = LastVisited.objects.filter(topic_id=t.id, user_id=request.user.id).values('lastvisited')

打印出来:

[{'lastvisited': datetime.datetime(2015, 12, 22, 18, 58, 15, tzinfo=<UTC>)}]

因此该字段不为空,但无法通过常规.field方法访问。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

你正在做LastVisited.objects.filter,这会给你一个查询集。 Queryset没有lastvisited属性。请改为LastVisited.objects.get