1,对字段的查询和逻辑操作
F对象
定义:一个F对象代表数据表中某个字段
作用:执行过程中获取某列的值,当同时对数据库中两个字段的值
进行比较获取 QuerySet 数据集时,便可用F对象
语法:from django.db.models import F
F('字段名')
示例:
from django. db. models import F
from bookstore import models
books = models. Book. objects. filter ( market_price__gt= F( 'price' ) )
for book in books:
print ( book. title, '定价:' , book. price, '现价:' , book. market_price)
Q对象
定义:在获取查询结果集 使用复杂的 逻辑或 `|` 、 逻辑非 `~` 逻辑与 '&' 等操作时可以借助于 Q对象进行操作
作用:在条件中用来实现 与and(&) 或or(|) 非 not(~) 操作
语法:from django.db.models import Q
Q('字段名')
示例:from django.db.models import Q
Q(条件1)|Q(条件2) # 条件1成立或条件2成立
Q(条件1)&Q(条件2) # 条件1和条件2同时成立
Q(条件1)&~Q(条件2) # 条件1成立且条件2不成立
from django. db. models import Q
models. Book. objects. filter ( Q( market_price__lt= 50 ) | Q( pub= '清华大学出版社' ) )
models. Book. objects. filter ( Q( market_price__lt= 50 ) & ~ Q( pub= '机械工业出版社' ) )
2,原生的数据库操作方法
1,Entry objects raw() 进行数据库查询操作
语法:
返回值:
示例:
2,使用游标cursor() 进行数据库的增删改操作
3,admin后台数据库管理
4,数据表关联关系映射(Relationship Map)
迁移数据库回滚操作:
语法:python3 manage.py migrate bookstore(应用的名称) 0005(跳转到某一步)
然后再重新迁移库操作