zoukankan      html  css  js  c++  java
  • django F表达式、Q表达式、annotate、order_by

     如下模型:

    class Book(models.Model):
        name = models.CharField(max_length=100)
        pages = models.IntegerField()
        price = models.FloatField()
        author = models.ForeignKey('Author',on_delete=CASCADE)
        class Meta:
            db_table='book'
    class Author(models.Model):
        author=models.CharField(max_length=100)
        class Meta:
            db_table='author'

    按书的价格排序(默认升序):books=Book.objects.order_by('price')

    按书的价格倒序排序:books=Book.objects.order_by('-price')

    按书的价格和页数升序排序:books=Book.objects.order_by('price','pages')

    多个 order_by,后面会把前面的排序规则打乱,而使用后面的排序方式,比如下面这个,会根据作者的名字进行排序,而不是使用文章的创建时间排序

    articles = Article.objects.order_by("create_time").order_by("author__name")

     

  • 相关阅读:
    5.2-5.3
    5.1封装
    阅读《构建之法》 5-7章
    做汉堡
    阅读《构建之法》1-5章
    结对 四则运算
    回答
    读后感
    提问*2
    提问1
  • 原文地址:https://www.cnblogs.com/Forever77/p/10168685.html
Copyright © 2011-2022 走看看