zoukankan      html  css  js  c++  java
  • Django ORM 多对多操作

    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: 男人>]>
  • 相关阅读:
    redis--列表
    redis ——字符串
    redis 第一节 redis安装、PHP扩展 、主从
    Python--day7
    Python--day6
    Python爬虫
    JSON基础
    Python--day5
    Python—day3
    Windows10 安装QT问题
  • 原文地址:https://www.cnblogs.com/jinyin/p/13306118.html
Copyright © 2011-2022 走看看