Django ORM 多对多操作

   日期:2024-01-17     浏览:46    评论:0    

models.py 

1 class Person(models.Model):
2     name = models.CharField(max_length=32)
3 
4 
5 class Group(models.Model):
6     name = models.CharField(max_length=32)
7     person = models.ManyToManyField(Person)

生成三张表: 

  

  person录入人员:

  group录入分组:

  

1 # 正向添加对应关系
2  gp = Group.objects.get(id=1)
3  gp.person.add(1)

 

 gp.person.add(2, 3)

  

1 # 反向添加对应关系
2 p = Person.objects.get(id=1)
3 p.group_set.add(4)

  

1 # 正向查询
2 >>> gp = Group.objects.get(id=1)
3 >>> gp.person.all()
4 <QuerySet [<Person: 刘备>, <Person: 关羽>, <Person: 张飞>]>
5 
6 # 反向查询
7 >>> p = Person.objects.get(id=1)
8 >>> p.group_set.all()
9 <QuerySet [<Group: 蜀国>, <Group: 男人>]>

 

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服