Django日期查询从最新到最旧

时间:2015-05-19 00:09:33

标签: django django-models

我正在从头开始构建我的第一个Django程序,并且遇到了尝试将项目从最新到最旧打印到屏幕的麻烦。 我的模型在DB中填充了自动日期时间字段,如下所示:

模型

from django.db import models
from django.contrib.auth.models import User
from django.conf import settings
from django.utils import timezone

class TaskItem(models.Model):
    taskn = models.CharField(max_length = 400)
    usern = models.ForeignKey(User)
    #Created field will add a time-stamp to sort the tasks from recently added to oldest
    created_date = models.DateTimeField('date created', default=timezone.now)

    def __str__(self):
        return self.taskn

从最新创建到最旧创建的顺序排序或打印此信息的代码行是什么?

想要在此次通话中实施:

taskitems2 = request.user.taskitem_set.all().latest()[:3]

2 个答案:

答案 0 :(得分:14)

ordered_tasks = TaskItem.objects.order_by('-created_date')

order_by()方法用于订购查询集。它需要一个参数,即查询集将被排序的属性。使用-按相反顺序对此键进行前缀。

答案 1 :(得分:0)

顺便说一句,您也可以使用Django的created_at字段:

ordered_tasks = TaskItem.objects.order_by('-created_at')