一对一关联反向查询
-
查询:
-
表层面:
-
查询所有是蝴蝶的毛毛虫
-
MaoMao.objects.filter(hudie__wings__gt=0):反向查询
- 用的是隐藏起来哪个关联表字段进行查询 就是反向查询
-
Hudie.maomao : 正向
-
-
数据层面
- m1 = MaoMaoobjects.get()
- m1.hudie
- hudie不是一条m1的字段,他是django做出来隐藏的
-
多对一查询
- 查询一个球队的所有球员
- 数据层面
- t1.player_set.all() 反向
- _set == models.objects
- 表层面:
- Team.objects.filter(player__name__startswith=’刘’) 反向
- Player.objects.filter(team__name=’恒中’) 正向
- 数据层面
- 修改
- 单独修改简单:直接字段赋值,save即可
- 批量修改
- set.update(team=t2) 直接为这些set数据 批量修改
- 直接立竿见影到数据库,不需要save
- 删除:
- on_delete
- models.CASCADE:球队删除,球员也跟着消失
- models.SET_NULL:球队删除,球员外键为null,数据还在
- null=True,
- on_delete
- 我是偶像
- 你们是粉丝
作业
- 学生表,老师表
- 三个多对一例子:
- 增删改查
- 反向查询的语句:表层面、数据层面 反向查询 念出来语句
在django中三种实现原生SQL的方式
- excute
- raw
- curser.excute
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 [email protected]
近期评论