创建多对多:

方式一:
    自定义关系表

    

    备注:自定义表Host、Application,通过自定义表,将表Host和Application进行关联(通过外键方式工);

    执行语句:python manage.py makemigartions        python manage.py migrate

方式二:
    自动创建第三张关联表

    

    通过在第二个类中,增加语句,会自动创建出第三张表,第三张表,通过红框 中的语句,自动实现两个表主键的连接;

    表结构为:

    

2、对数据库添加数据

    1)、通过直接创建的表时,可以直接通过对象进行操作;

    2)、通过第二种方式创建表时,可以通过t这条线来进行操作

       obj=Application.objects.get(id=1)

       obj.name

      第三张表操作

       obj.t.add(1)  #添加applicaion_id=1,host_id=1的记录

       obj.t.add(2,3,4)  #添加applicaion=1 ,host_id=2,3,4的记录;

       obj.t.add(*[2,3,4]) #同上

       

       obj.t.remove(1)  #删除applicaiton_id=1 ,host_id=1的记录

       obj.t.remove(2,3,4) #删除applicaion=1 ,host_id=2,3,4的记录;

       obj.t.remove(*[2,3,4]) 同上

        

       obj.r.clear() #清除application_id=1的所有记录

       obj.r.set([2,3,4]) #清除application_id=1,且host_id=2,3,4的所有记录(application=1的所有,为其它值时不清)

        

       

    

Django - 创建多对多及增加示例的更多相关文章

  1. Django创建多对多表关系的三种方式

    方式一:全自动(不推荐) 优点:django orm会自动创建第三张表 缺点:只会创建两个表的关系字段,不会再额外添加字段,可扩展性差 class Book(models.Model): # ... ...

  2. Django框架(十二)—— 补充:inclusion_tag、defer、only、choice、事务、创建多对多的第三张表

    目录 补充:inclusion_tag.defer.only.choice.事务.创建多对多的第三张表 一.inclusion_tag 1.作用 2.使用 二.defer与only 1.定义 2.使用 ...

  3. 利用django创建一个投票网站(一)

    这是教程的原始链接:http://django-intro-zh.readthedocs.io/zh_CN/latest/part1/ 创建你的第一个 Django 项目, 第一部分 来跟着实际项目学 ...

  4. Django-website 程序案例系列-7 创建多对多关系表

    创建多对多关系表: 方式一:一共三张表其中有一张中间表需要手工建立(建议使用第一种方式自定制程度高) class Host(models.Model): hostname = models.CharF ...

  5. Django中多对多关系的orm表设计

    作者的管理 1.设计表结构 出版社 书籍 作者 一个出版社出版多个书籍  1对多 书籍和作者的关系:一个作者写多本书,一本书可以是多个作者写.多对多 1)创建一张表,表中多对多的数据关系.使用 多对多 ...

  6. django 的多对多关系

    django里自带的多对多表创建 其实就是两个多对一关系各自关联,在第三张表上 多对多的增加 add()可以传数值 例如 add(1)或数组 add(*[2,3]) 多对多反向操作 自己创建第三张表, ...

  7. 用django创建一个简单的sns

    用django创建一个简单的sns 1.首先创建一个工程newsns django-admin.py startproject newsns 在工程目录下新建一个文件夹templates,在该文件夹下 ...

  8. django创建工程,用命令

    django创建工程的命令 >>python C:\Python33\Lib\site-packages\django\bin\django-admin.py startproject p ...

  9. Python - Django - ORM 多对多表结构的三种方式

    多对多的三种方式: ORM 自动创建第三张表 自己创建第三张表, 利用外键分别关联作者和书,关联查询比较麻烦,因为没办法使用 ORM 提供的便利方法 自己创建第三张表,使用 ORM 的 ManyToM ...

随机推荐

  1. idea2016的使用心得 --- 太棒了

    今天打开myeclipse感觉里面全是project,也懒着换地方了,因为这些代码还要时常看,索性安装了idea试试水,感觉还不错,用起来并不比myeclipse差,跟webstorm差不多,他俩就是 ...

  2. c++中读写文件操作

    读写文件这个,不常用,每次用的时候都会百度一下,每次写法还都不一样,所有总是记混.今天利用点时间总结下之前工程中用过的.以后就安照这种方法写了. 搞acmicpc的时候喜欢用freopen(),这个是 ...

  3. BitmapFactory.decodeStream()获取bitmap返回null

    正常的图片缩放代码如: ByteArrayOutputStream baos = new ByteArrayOutputStream(); arg1.compress(Bitmap.CompressF ...

  4. 【Apio2009】Bzoj1179 Atm

    目录 List Description Input Output Sample Input Sample Output HINT Solution Code Dfs 记忆化搜索 Position: h ...

  5. SQL分离附加数据库

    转自:http://www.jb51.net/article/36624.htm

  6. P5180 【模板】支配树

    这个题乱七八糟的,和之前的灭绝树有点像,但是不一样.那个是DAG,这个是有向图.简单步骤就是先求出来dfs序,然后求出半支配点(?),然后通过这个求支配点. 算法不是很理解,先放在这. 题干: 题目背 ...

  7. bzoj1227

    离散化+树状数组+排列组合 很久以前就看到过这道题,现在依然不会做...看完题解发现思路很简单,就是有点难写 我们先将坐标离散化,x和y最大是w,然后我们就有了一个暴力做法, 枚举每块墓地,统计,因为 ...

  8. openStack aio nova service-list neutron ext-list

  9. 40. combo的displayField和valueField属性

    转自:https://xsl2007.iteye.com/blog/773464 下拉框combo可以设置displayField和valueField属性,这两个值值相当于Java中的map,一个键 ...

  10. [Swift通天遁地]九、拔剑吧-(2)在项目中使用大量美观的图标

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...