前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django 数据查询中对字段进行排序

Django 数据查询中对字段进行排序

作者头像
卓越笔记
发布2023-02-18 10:30:26
2.7K0
发布2023-02-18 10:30:26
举报
文章被收录于专栏:卓越笔记

方法一:order_by 排序

代码语言:javascript
复制
# 更新时间字段,倒序排序
articles = Article.objects.filter(show_status=True).order_by('-time_created')
# 更新时间字段,正序排序
articles = Article.objects.filter(show_status=True).order_by('time_created')
# 更新时间字段,正序排序
articles = Article.objects.order_by('time_created')

也可以使用两个字段进行排序,当 第一个字段值 相等时,再用 第二个 字段值 来排序

代码语言:javascript
复制
articles = Article.objects.order_by('author','-time_created')

方法二:Meta 类排序

models.py

代码语言:javascript
复制
# 主题表/文章表
class Article(models.Model):
    title = models.CharField(max_length=128, verbose_name="标题")
    content = RichTextUploadingField(verbose_name="内容", config_name='awesome_ckeditor')
    author = models.ForeignKey(User, related_name="author_set", verbose_name="作者")
    time_created = models.DateTimeField(auto_now_add=True, verbose_name="发表时间")
    time_updated = models.DateTimeField(blank=True, null=True, auto_now=True, verbose_name="更新时间")


    class Meta:
        verbose_name = "文章"
        verbose_name_plural = "文章列表"
        ordering = ["-time_updated", ]

或 admin.py

代码语言:javascript
复制
class ArticleAdmin(admin.ModelAdmin):
    ordering = ["time_updated", ]

每次查询数据库都会默认使用该字段来排序,除非你显示的使用 order_by 语句来排序

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-9-25 1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法一:order_by 排序
  • 方法二:Meta 类排序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档