ORM操作里的列操作和或操作

 1. 例如:更新Author表中所有人的年龄,都加10岁?

     在mysql数据库中:update Author set age = age + 10

     那么在Django中怎么通过实体类来进行这一操作呢?

     ORM中有  F()操作

    1. 作用:在执行操作中,获取某列的值

    2. 语法:  F("列名")

      from django.db.models import F

      Author.object.all().update(age=F('age')+10)

2.  Q()操作

    在Django中,用实体类在数据库中进行查询操作时

   例如:Author表中查询id=1和age=2的人

    Author.object,filter(id=1,age=35)   ##and操作

   那么或操作怎么表示呢?

    例如:  Author表中查询id=1或age=2的人

    使用Q()操作来进行或操作

    语法:Q(表达式)|Q(表达式)

     from django.db.models import Q

     Author.object.filter(Q(id=1)|Q(age=2))

你可能感兴趣的:(ORM操作里的列操作和或操作)