我正在尝试从用户的多个记录中返回最近的日期。
当用户创建文档时,创建日期存储在 CreatedDocumentDetails 模型中。
我无法返回用户最近创建的文档的日期。
我问这个关于SO的问题 https://stackoverflow.com/questions/27770837/django-return-count-when-date-stored-last-24-hours这与这个问题有些相关。
这是我的 model.py 代码:
class CreatedDocumentDetails(models.Model):
user = models.ForeignKey(User)
created_document_timestamp = models.DateTimeField(auto_now_add=True, blank=True)
def __unicode__(self):
return unicode(self.user)
这是我的views.py代码:
def get_latest_created_document_date(user):
??
return latest_created_document_date
我知道我必须在用户的 get_latest_created_document_date 视图的过滤器中传递日期,但是在搜索了 SO、Google 和 Django 文档之后,我仍然无法自己解决这个问题。
你会想要使用order_by查询集过滤器 https://docs.djangoproject.com/en/dev/ref/models/querysets/#order-by,像这样:
CreatedDocumentDetails.objects.order_by('-created_document_timestamp').first()
由于您使用的是日期字段,因此您还可以使用latest filter https://docs.djangoproject.com/en/dev/ref/models/querysets/#latest像这样:
CreatedDocumentDetails.objects.latest('created_document_timestamp')
正如卡塔瓦兰在评论中所说
请注意,如果表中没有记录,则first()
将返回None
but latest()
将提高DoesNotExist
例外
要获取日期戳,您可以将该字段附加到末尾,因为两个查询都会给出一个对象:
CreatedDocumentDetails.objects.order_by('-created_document_timestamp').first().created_document_timestamp
or
CreatedDocumentDetails.objects.latest('created_document_timestamp').created_document_timestamp
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)