Estoy tratando de devolver la fecha más reciente de un número de registros de un usuario.
Cuando el usuario crea un documento, la fecha de creación se almacena en el modelo CreatedDocumentDetails.
No puedo devolver la fecha del documento creado más recientemente por el usuario.
Hice esta pregunta en SO que está relacionada con el tema.
Aquí está mi código 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)
Aquí está mi código de views.py:
def get_latest_created_document_date(user): ?? return latest_created_document_date
Entiendo que debo pasar la fecha en el filtro de la vista get_latest_created_document_date del usuario, pero después de buscar SO, Google y Django docs, todavía no puedo resolver esto por mi cuenta.
Querrás usar el filtro order_by
QuerySet , así:
CreatedDocumentDetails.objects.order_by('-created_document_timestamp').first()
Como está usando un campo de fecha, también puede usar el latest
filtro así:
CreatedDocumentDetails.objects.latest('created_document_timestamp')
Como afirma catavarán en los comentarios.
Tenga en cuenta que si no hay registros en la tabla,
first()
devolveráNone
pero ellatest()
DoesNotExist
excepciónDoesNotExist
Para obtener la marca de fecha, puede agregar el campo al final, ya que ambas consultas darán un solo objeto:
CreatedDocumentDetails.objects.order_by('-created_document_timestamp').first().created_document_timestamp
o
CreatedDocumentDetails.objects.latest('created_document_timestamp').created_document_timestamp