Django - 创建多对多及增加示例
创建多对多:
方式一:
自定义关系表
备注:自定义表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的所有,为其它值时不清)
最新文章
- WDM驱动和NT驱动之我见
- Linux服务器上监控网络带宽的18个常用命令
- bs4_3select()
- StyleCop源码分析
- 选择时区的命令tzselect
- zw版【转发·台湾nvp系列Delphi例程】HALCON 3D Position Of Circles
- HDU4370 0 or 1 最短路
- android监听键盘
- JNI介绍(转)
- oracle学习笔记(四) DQL数据查询语言和TCL 事务控制语言
- HDU 1754 线段树入门解题报告
- svn服务器镜像备份
- 新添加一块硬盘制作LVM卷并进行分区挂载
- JSON 反序列化Lis<;T>;
- linux系统编程:自己动手写一个ls命令
- Logback中文文档(一):介绍
- 在Ubuntu中添加和删除PPA的软件源
- [Android教程] Cordova开发App入门(二)使用热更新插件
- 【黑客免杀攻防】读书笔记14 - 面向对象逆向-虚函数、MFC逆向
- flask使用ajax提交表单