mangTomany 自关联之个人感悟

时间:2023-03-09 09:34:31
mangTomany 自关联之个人感悟

介绍:

应用场景:评论表

manyTomany 原则上就是一个类 自己建立一个关系表

这个关系表的列 由自己定义

mangTomany 自关联之个人感悟

例如 图中 from_userinfo_id() 是人为规定的 男生列  to_userinfo_id是女生列

这时候 我们想通过 男生查询出 与自己有关系的女生 ,同时也是反向查询。

思路是 先查询出自己

obj = model.userinfo.object.filter(id=1).first() 此时 查询出的结果集是一个对象 里面封装多个列的信息 select * from userinfo where id = 1

result = obj.m.all() 此时这一步 相当于与关系表 跨表了 反向查询 自动帮我们查询出有关系的数据 类似于 select  to _userinfo_id from userinfo_m where from_userinfo_id = 1(相当于 from _userinfo_id =obj.id)

for i in result:

  print i.nickname

obj.m 表示去第一列查询

mangTomany 自关联之个人感悟

查男生  格式 自己的表名字 这里不在是关联表的名字

obj = model.userinfo.object.filter(id=4).first() 
result = obj.userinfo_set.all()

for i in result:

  print i.nickbane

外键自关联

reply = model.Foreignkey("x",null=True,blan = True,related_name="ply")