python - Django 只是按日期对 ListView 进行排序

标签 python django listview

我正在处理从开发人员那里继承的一些 Django 代码,需要进行非常简单的更改。在代码中,有一个通过 Django ListView 显示的作业列表。我的问题真的很简单。当我转到该页面时,我看到作业按日期排序,最早的排在最前面。我想以相反的顺序对作业进行排序。我现在不需要任何过滤、在 URL 中传递参数等。以下是文件的相关部分:

#models.py
from django.db import models
class Job(models.Model):
    created = models.DateTimeField(auto_now_add=True)
    position =  models.ManyToManyField(Position)
    title = models.CharField(max_length=100)

#views.py
from .models import Job
class JobListView(ListView):
    template_name="jobs/list.html"
    model = Job
    paginate_by = 10

#list.html
{% for job in object_list %}
    <li class="display-list-item">
        <h4><strong><a href="{% url 'job_detail' pk=job.pk %}">{{job.title}}</a></strong></h4>
        <ul class="list-inline job-info-list">                                                    
            <span>{{job.created | timesince}} ago</span>
        </ul>               
    </li>
{% endfor %}


#urls.py
urlpatterns = [
url('^$', views.JobListView.as_view(), name='job_list')
]

如前所述,这会导致作业按“创建”字段排序显示。先显示之前创建的。让后面创建的先显示的最快的方法是什么?

最佳答案

第一种方式

模型.py

from django.db import models
class Job(models.Model):
    created = models.DateTimeField(auto_now_add=True)
    position =  models.ManyToManyField(Position)
    title = models.CharField(max_length=100)

    class Meta:
       ordering = ['-created']

第二种方式

View .py

from .models import Job
class JobListView(ListView):
    template_name="jobs/list.html"
    queryset = Job.objects.order_by('-created')
    paginate_by = 10

关于python - Django 只是按日期对 ListView 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40445793/

相关文章:

django - Django 最好的 Wiki 解决方案是什么?

vb.net - 在 Visual Basic (Visual Studio 2019) 中运行时创建的 ListView 中的索引选择

java - ListView 没有动画

python - 在 python 中转义 mysql 语句时遇到问题

python - 在Python中求解非线性方程: the answer is the same as initial guess

python - 如何读取/打印(_io.TextIOWrapper)数据?

python - 如何让Django使用mysqlclient而不是mysqlDB

python - 来自多个 netcdf 文件的混合层高度的 numpy.mean

python - 使用 hmac 生成瑞典 BankID Python 动画 QR 代码

android - 在android中使用带有listview的contextmenu