django return 一条记录的最近日期
django return the most recent date of a record
我正在尝试 return 用户从多个记录中获取最近的日期。
当用户创建文档时,创建日期存储在 CreatedDocumentDetails 模型中。
我无法return 用户最近创建文档的日期。
我问了这个,这与这个问题有点相关。
这是我的 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
QuerySet filter,像这样:
CreatedDocumentDetails.objects.order_by('-created_document_timestamp').first()
由于您使用的是日期字段,因此您也可以像这样使用 latest
filter:
CreatedDocumentDetails.objects.latest('created_document_timestamp')
正如评论中所说的双体船
Note that if there is no records in table then first()
will return None
but latest()
will raise DoesNotExist
exception
要只获取日期戳,您可以将该字段附加到末尾,因为两个查询都会给出一个对象:
CreatedDocumentDetails.objects.order_by('-created_document_timestamp').first().created_document_timestamp
或
CreatedDocumentDetails.objects.latest('created_document_timestamp').created_document_timestamp
我正在尝试 return 用户从多个记录中获取最近的日期。
当用户创建文档时,创建日期存储在 CreatedDocumentDetails 模型中。
我无法return 用户最近创建文档的日期。
我问了这个
这是我的 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
QuerySet filter,像这样:
CreatedDocumentDetails.objects.order_by('-created_document_timestamp').first()
由于您使用的是日期字段,因此您也可以像这样使用 latest
filter:
CreatedDocumentDetails.objects.latest('created_document_timestamp')
正如评论中所说的双体船
Note that if there is no records in table then
first()
will returnNone
butlatest()
will raiseDoesNotExist
exception
要只获取日期戳,您可以将该字段附加到末尾,因为两个查询都会给出一个对象:
CreatedDocumentDetails.objects.order_by('-created_document_timestamp').first().created_document_timestamp
或
CreatedDocumentDetails.objects.latest('created_document_timestamp').created_document_timestamp