django - 在 Django 的 ListView 中排序

标签 django sorting listview django-generic-views

我在 django 2 中并在这里面临一些问题。我先给你我的文件

View .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):
        context = super(home_view , self).get_context_data(**kwargs)
        context.update({"snippets":snippet_form_model.objects.all()})
        return context

模型.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

关于django - 在 Django 的 ListView 中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53464843/

相关文章:

django - Django-表单Clean()和字段错误

python - Django - 将代表用户的外键添加到模型中

java - ListView 不显示 -- ListView 项目选择到 webView

android - getItem(position) 为不同的位置值返回相同的对象

android - 覆盖触控板点击

javascript - 使用 django 字段通过 javascript 将 id 添加到元素

python - Django:CreateView 中的 transaction.atomic,form_valid()

ios - 按月对数据进行排序

java - 关于调试 Hadoop MapReduce 作业中二级排序问题的任何提示?

bash - UNIX:按编号/版本排序文件,不带 0 填充