Django-反转查询集
我对queryset有一个非常基本的看法,但由于某些原因,我无法逆转它Django-反转查询集,django,reverse,Django,Reverse,我对queryset有一个非常基本的看法,但由于某些原因,我无法逆转它 def home(request): posts = Post.objects.all().reverse() return render(request, "home.html", {'posts': posts}) 出于某种原因,无论我如何更改代码,queryset中的实例总是以相同的顺序呈现。 下面是我已经尝试过的代码行,但由于某些原因无法正常工作: Post.objects.al
def home(request):
posts = Post.objects.all().reverse()
return render(request, "home.html", {'posts': posts})
出于某种原因,无论我如何更改代码,queryset中的实例总是以相同的顺序呈现。
下面是我已经尝试过的代码行,但由于某些原因无法正常工作:
Post.objects.all().reverse()
Post.objects.order_by('-date')
Post.objects.order_by('date').reverse()
home.html:
{% for post in posts %}
{{ post.title }}
{{ post.content }}
{% endfor %}
class Post(models.Model):
title = models.CharField(max_length=100, unique=True, blank=True, null=True)
image = models.URLField(blank=True, null=True, unique=True)
content = models.TextField(blank=True, null=True)
date = models.DateField(auto_now=False, auto_now_add=True)
#To make in name, not objXXX
def __str__(self):
return self.title
型号。py:
{% for post in posts %}
{{ post.title }}
{{ post.content }}
{% endfor %}
class Post(models.Model):
title = models.CharField(max_length=100, unique=True, blank=True, null=True)
image = models.URLField(blank=True, null=True, unique=True)
content = models.TextField(blank=True, null=True)
date = models.DateField(auto_now=False, auto_now_add=True)
#To make in name, not objXXX
def __str__(self):
return self.title
我相信您要查找的查询集是
Post.objects.all().order\u by(“-date”)
:
def home(请求):
posts=Post.objects.all().order_by(“-date”)
返回呈现(请求“home.html”,{“posts”:posts})
避免将
排序
放在Django模型上被认为是一种最佳做法,因为当您不需要排序操作时,它会在数据库中强制执行不必要的排序操作。必要时,我在Django管理定义上放置默认的排序
,而不是模型。祝你好运 如果您正在寻找try(在models.py中)的订单:
如果不是,那么反转未排序的内容并没有多大意义,请尝试(在views.py中):
这个
post=post.objects.filter(“”.reverse()
而不是
post = Post.objects.all.order_by("<field name>").reverse()
post=post.objects.all.order_by(“”).reverse()
您是否有任何具有不同日期的对象op已经声明他试图使用精确的顺序,\u也没有必要。all()显式优于隐式,并且没有。all()
根据定义,使不精确。