Django只是按日期排序ListView

Roh*_*dey 4 python django listview

我正在处理从dev继承的一些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')
]
Run Code Online (Sandbox Code Playgroud)

如上所述,这会导致作业按"已创建"字段排序.之前创建的那些首先显示.使后来创建的那些显示最快的最快方法是什么?

Ser*_*jik 5

第一种方式

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)

    class Meta:
       ordering = ['-created']
Run Code Online (Sandbox Code Playgroud)

第二种方式

views.py

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