这可能听起来很愚蠢,但一段时间以来一直困扰着我。我有这个模型:
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
方法访问。
我该如何解决这个问题?
答案 0 :(得分:1)
你正在做LastVisited.objects.filter
,这会给你一个查询集。 Queryset没有lastvisited
属性。请改为LastVisited.objects.get
。