Django模型进阶-多对多关系

news2025/1/22 9:19:54

        在Django中,多对多(Many-to-Many)关系是一种数据库关系,表示一个模型的实例可以与另一个模型的多个实例相关联,同时另一个模型的实例也可以与这个模型的多个实例相关联。换句话说,就是两个模型之间可以存在多重关联,每个实例都可以属于多个相关实例的集合。

        实现多对多关系时,Django会在数据库中自动创建一个中间表(也称为连接表或关联表),这个中间表至少包含两个字段,这两个字段都是外键,分别指向参与多对多关系的两个模型。这个中间表用于存储两个模型实例之间的关联关系,而不需要你显式地定义这个表。

创建一个新的APP

django-admin startapp Many2Many

并在settings里去注册一下

设计一下多对多的模型

执行迁移

python3 manage.py makemigrations
python3 manage.py migrate 

执行迁移以后我们看到数据库里生成了3张表,但我们在models里就设计了2张表 中间表是自动创建的

 一增加数据

执行后我们可以看到modeldb1.Many2Many_user_movie成功添加了一条数据

另一种方法 反向查询引用

执行后我们可以看到数据也被成功添加

 二删除数据

在删除数据中如果是删除单表内的数据就先查到到数据 然后执行删除

#删除User

# User.objects.filter(name="张三10").delete()

#删除Movie

# Moive.objects.filter(name="无间道10").delete()

如果要删除中间件的数据,要注意的是这里不能直接用.delete()

不然会把Movie数据库里的数据一起删除掉了 

三查询数据

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1673735.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

免费SSL证书获取与部署教程

在互联网时代,HTTPS已成为网站安全的基石,为用户数据传输提供加密保障。免费SSL证书的出现降低了部署HTTPS的门槛,尤其对于个人网站、小微企业及测试环境而言,它们是理想的选择。本文旨在提供一份详尽指南,帮助您轻松获…

找到字符串中所有的字母异位词 ---- 滑动窗口

题目链接 题目: 分析: 要找的是在s中和p是异位词的子串, 也就是说子串大小和p相同, 那么就是窗口大小固定的滑动窗口问题可以使用哈希数组来记录每个元素出现的个数, 定义hash1存放p中的各元素个数定义left 0; right 0;进窗口 让right指向的元素进窗口, 即更新hash2中的元素…

基于若依的ruoyi-nbcio流程管理系统支持指定接收人的流程审批

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: h…

【SRC实战】无限获取优惠码

挖个洞先 https://mp.weixin.qq.com/s/HgMK4S8275VvFVbnSp6Qsw “ 以下漏洞均为实验靶场,如有雷同,纯属巧合 ” 01 — 漏洞证明 “ 获取优惠码有次数限制的情况下,如何绕过?” 1、新用户专属福利,免费领100元优惠…

Can not add resource (com.android.aaptcompiler.ParsedResource@a980fbb) to table

具体原因 资源合并时出现编译问题。 1. 什么是资源? 就是res目录下面的values目录下的文件。以及!以及!你所引入的其他依赖(第三方库)的values.xml文件 2. 一般什么原因会导致合并出错? 你的资源文件中的内容错误&…

python批量为图片做灰度处理

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.使用 四.总结

攻防世界(CTF)~web-supersqli(详细解题思路)

题目介绍 题目描述“随便注” 先看一下是否存在注入 判断闭合方式 输入1’ and 11-- -正常回显 输入1and 12-- -无回显,确认是单引号闭合 看一下列数 输入1 order by 2-- - 有回显 输入1 order by 3-- - 报错,由此判断两列 使用union联合注入发现select被过滤了&a…

ChatGPT4o免费体验?OpenAI 又在深夜放大招了!

👩🏽‍💻个人主页:阿木木AEcru 🔥 系列专栏:《Docker容器化部署系列》 《Java每日面筋》 💹每一次技术突破,都是对自我能力的挑战和超越。 目录 一、GPT4o是什么?二、官网…

美港通正规股票杠杆交易突破3900点,欧线集运再创历史新高

查查配5月13日,欧线集运主连高开高走,盘中一度涨超13%,截至早盘收盘涨11.93%,突破3900点。4月以来,欧线集运主连累计涨超110%。 美港通证券以其专业的服务和较低的管理费用在市场中受到不少关注。该平台提供了实盘交易、止盈止损、仓位控制等功能,旨在为投资者提供更为全面的投…

【Java的抽象类和接口】

1. 抽象类 1.1 抽象类概念 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果 一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 以上代码中…

网上跳蚤市场|基于SSM+vue的网上跳蚤市场系统的设计与实现(源码+数据库+文档)

网上跳蚤市场系统 目录 基于SSM+vue的网上跳蚤市场系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2后台登录模块 5.2.1管理员功能 5.2.2会员功能 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八…

HFSS学习-day5-边界条件

边界条件 概述边界条件类型1、理想导体边界条件(Perfect E)2、理想磁边界条件(Perfect H)3、有限导体边界条件(Finite Conductivity)4、辐射边界条件(Radiation)5、对称边界条件&…

使用com.google.common.collect依赖包中的Lists.transform()方法转换集合对象之后,修改集合中的对象属性,发现不生效

目录 1.1、错误描述 (1)引入依赖 (2)模拟代码 (3)运行结果 1.2、解决方案 1.1、错误描述 最近在开发过程中,使用到了com.google.common.collect依赖包,通过这个依赖包中提供的…

记录接口请求偶发504 Gateway Time-out问题

项目场景: 我们将服务部署到A公司服务器中,使用了共五台服务器,分别是:1.NG服务器 2.日志服务器 3.缓存服务器 4.应用服务器1 5.应用服务器2 。而请求过来首先到达的是他们的物理代理服务器,然后再转发请求到我们的ng…

【操作系统期末速成】​操作系统概述(定义|功能|特征)|发展阶段和分类|结构设计|概念补充

🎥 个人主页:深鱼~🔥收录专栏:操作系统🌄欢迎 👍点赞✍评论⭐收藏 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到…

springboot306基于Java的民宿管理系统(源码+包运行+配套LW+技术指导)

项目描述 临近学期结束,开始毕业设计制作,你还在做java程序网络编程,期末作业,老师的作业要求觉的困难吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于Java的民宿管理…

红黑树!!

文章目录 1.红黑树的概念2.红黑树的几种情况2.1 情况一:cur为红,p为红,g为黑,u存在且为红(p为parent,g为grandfather,u为uncle)2.2 情况二:cur为红,p为红,g为黑&#xff…

论:即时战略RTS游戏的小地图采用 自下而上的汇报式 还是 自上而下的查找式?

关键词:RTS 小地图 游戏设计 思路 卫星 位置映射 阵营 更新 汇报 询问 UE4 UE5 Unreal Engine 前言 你是否想过类似红色警戒的战略小地图的要素是采用何种方式更新数据的。大量数据实时更新,考虑频率,运行效率,开发中如何选型&a…

EXECL小技巧

一、批量给某列添加单引号或者双引号 如下:D2列为需要添加引号的列,效果如下图 1.双引号 """"&D2&"""" 2.双引号后增加逗号 """"&D2&""""&&quo…

Android 高德地图 添加 天地图 卫星瓦片图片(解决高德地图部分地区放大后无卫星图片问题)

废话不多说,直接商代吗 高德地图的加载就不多说了,这个直接去高德官网看就行了 高德官网:概述-Android 地图SDK | 高德地图API 下面我们就说如何添加天地图瓦片图层 天地图官网:天地图API 1.先去天地图注册成为开发者 2.创建…