django多对多数据库建立 以及数据的传输 并进行增加 删除 修改
多对多数据库的建立
class Host(models.Model):
nid = models.AutoField(primary_key=True) #自增id
hostname = models.CharField(max_length=32, db_index=True)
ip = models.GenericIPAddressField(db_index=True)
port = models.IntegerField(max_length=32)
b = models.ForeignKey(to='Business', to_field='id', on_delete=models.CASCADE) class Application(models.Model):
name = models.CharField(max_length=32, null=True)
r = models.ManyToManyField('Host')
通过models.ManyToManyField 创立 Host 与 Application的连接
v1 = models.Application.object.all()
v1.name
for i in v1.r.all():
i.hostname
增加:
obj = models.Application.object.create(name)
obj.r.add(hostname)
改:
obj = models.Application.object.get(id=nid)
obj.name = name
obj.r.set(hostname)
删
obj = models.Application.object.get(id=nid)
models.Application.object.delete(id=nid)
obj.r.clear()
django多对多数据库建立 以及数据的传输 并进行增加 删除 修改的更多相关文章
- Django多对多关系建立及Form组件
目录 Django多对多关系 1.创建方式一全自动 2.创建方式二纯手撸 3.半自动(推荐使用) forms校验组件 使用forms组件实现注册功能 form常用字段和插件 数据校验 钩子函数 HOO ...
- django学习-10.django连接mysql数据库和创建数据表
1.django模型 Django对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle. Django为这些数据库提供了统一的调用API. 我们可以根据自己 ...
- Django根据现有数据库建立model
Django引入外部数据库还是比较方便的,步骤如下 创建一个项目,修改seting文件,在setting里面设置你要连接的数据库类型和连接名称,地址之类,和创建新项目的时候一致 运行下面代码可以自动生 ...
- Django根据现有数据库建立/更新model
Django引入外部数据库还是比较方便的,步骤如下: 创建一个项目,修改seting文件,在setting里面设置你要连接的数据库类型和连接名称,地址之类,和创建新项目的时候一致 运行下面代码可以自动 ...
- django orm 改动数据库中已存在的表(添加、删除、修改表字段)
python3 manage.py makemigrations --empty api # 因为我的models.py文件并直接在项目根目录,而是根目录下的api目录中 python3 manage ...
- Django更换数据库和迁移数据方案
前言 双十一光顾着买东西都没怎么写文章,现在笔记里还有十几篇半成品文章没写完- 今天来分享一下 Django 项目切换数据库和迁移数据的方案,网络上找到的文章方法不一,且使用中容易遇到各类报错,本文根 ...
- Django数据操作F和Q、model多对多操作、Django中间件、信号、读数据库里的数据实现分页
models.tb.objects.all().using('default'),根据using来指定在哪个库里查询,default是settings中配置的数据库的连接名称. 外话:django中引 ...
- python django中使用sqlite3数据库 存储二进制数据ByteArray
在python中使用sqlite3数据库存储二进制流数据ByteArray,在django使用sqlite3数据库时,有时候也要注意最好使用二进制流ByteArray插入字符串. 使用ByteArra ...
- Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查
本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...
随机推荐
- UVA-10305 Ordering Tasks (拓扑排序)
题目大意:给出n个点,m条关系,按关系的从小到大排序. 题目分析:拓扑排序的模板题,套模板. kahn算法: 伪代码: Kahn算法: 摘一段维基百科上关于Kahn算法的伪码描述: L← Empty ...
- epoll模型边沿触发
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- android中LayoutInflater.from(context).inflate的分析
在应用中自定义一个view,需要获取这个view的布局,需要用到 (LinearLayout) LayoutInflater.from(context).inflate(R.layout.conten ...
- CASIO 5800P计算器游戏--猜数字游戏
CASIO 5800P 计算器游戏--猜数字游戏原代码 我编的计算器小游戏--猜数字游戏 LbI I↙ "xxGUESS NUMBERxx xPROGRAMMER:JCHx -------- ...
- 【LeetCode 1_数组_哈希表】Two Sum
解法一:O(N) vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int, i ...
- pixi之动画
一.循环动画 let sprite; Loader.add("images/imgs.json").load(setup); function setup() { //利用oran ...
- python list 中元素的统计与排序
1. 用count和dict. dict的存储是散乱的, 不方面打印. 2. 用sorted. 注意, 得到的是一个元组list, 而不再是dict. dict_x = {} for item ...
- 在.NET中实现Actor模型的不同方式
上周,<实现领域驱动设计>(Implementing Domain-Driven Design)一书的作者Vaughn Vernon,发布了Dotsero,这是一个使用C#编写的.基于.N ...
- 【转】ubuntu中没有/etc/inittab文件探究
原文网址:http://blog.csdn.net/gavinr/article/details/6584582 linux 启动时第一个进程是/sbin/init,其主要功能就是软件执行环境,包括系 ...
- application项目获取bean
对于web项目,编程方式获取bean如下: WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext(); C ...