django的listview中的排序
我在django 2,在这里面临一些问题。让我先给你我的文件 views.pydjango的listview中的排序,django,sorting,listview,django-generic-views,Django,Sorting,Listview,Django Generic Views,我在django 2,在这里面临一些问题。让我先给你我的文件 views.py class home_view(ListView): model = home_blog_model template_name = "home.html" context_object_name = "posts" paginate_by = 6 ordering = ['-date'] def get_context_data(self , **kwargs):
class home_view(ListView):
model = home_blog_model
template_name = "home.html"
context_object_name = "posts"
paginate_by = 6
ordering = ['-date']
def get_context_data(self , **kwargs):
context = super(home_view , self).get_context_data(**kwargs)
context.update({"snippets":snippet_form_model.objects.all()})
return context
models.py
class snippet_form_model(models.Model):
title = models.CharField(max_length=500)
language = models.CharField(max_length=50)
code = models.TextField()
describe = models.TextField()
class Meta:
ordering = ['-created']
def __str__(self):
return self.title
问题是我想将{{snippet_form_model}}的元素按相反的顺序排序,但我没有在该模型中指定排序依据的日期。有什么不同的方式来设置订单吗?您可以像这样更新订单:
# Please read PEP-8 Docs for naming
# Class name should be Pascal Case
class snippet_form_model(models.Model):
title = models.CharField(max_length=500)
language = models.CharField(max_length=50)
code = models.TextField()
describe = models.TextField()
class Meta:
ordering = ['-id'] # as you don't have created field. Reverse by ID will also show give you snippet_form_model in reverse order
def __str__(self):
return self.title
添加日期并使其自动\u立即\u添加为true。如果您不想在html中使用它,可以在html中跳过它。我想这是最简单的解决方案。我必须为此运行makemigrations吗?因为上次我这么做的时候,我必须删除整个数据库。你不需要删除整个数据库。只需在模型中添加日期,然后运行makemigrations和migrate。你也可以按主键排序。