Django日期查询从最新到最旧

rya*_*yan 9 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
Run Code Online (Sandbox Code Playgroud)

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

想要在此次通话中实施:

taskitems2 = request.user.taskitem_set.all().latest()[:3]
Run Code Online (Sandbox Code Playgroud)

mip*_*adi 17

ordered_tasks = TaskItem.objects.order_by('-created_date')
Run Code Online (Sandbox Code Playgroud)

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


spe*_*edy 5

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

ordered_tasks = TaskItem.objects.order_by('-created_at')
Run Code Online (Sandbox Code Playgroud)