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")

     

  • 相关阅读:
    pat00-自测5. Shuffling Machine (20)
    Spiral Matrix
    Search in Rotated Sorted Array II
    Search in Rotated Sorted Array
    Best Time to Buy and Sell Stock II
    4Sum
    3Sum Closest
    3Sum
    MySQL存储过程、函数和游标
    Word Ladder
  • 原文地址:https://www.cnblogs.com/Forever77/p/10168685.html
Copyright © 2011-2022 走看看