首页 > 其他分享 >Django 关系字段类型

Django 关系字段类型

时间:2024-08-19 15:48:47浏览次数:5  
标签:关系 ForeignKey models Django CASCADE 类型 True delete

关系型数据库的关系包括三种类型:

  • ForeignKey:一对多,将字段定义在多的一端中。

    # 一个多对一的关系。需要两个位置参数:模型相关的类和 on_delete 选项。
    goods = models.ForeignKey('Goods', on_delete=models.CASCADE)
  • ManyToManyField:多对多,将字段定义在任意一端中。

    user = models.ManyToManyField('User',on_delete=models.CASCADE)
  • OneToOneField:一对一,将字段定义在任意一端中。

    user = models.OneToOneField('User', on_delete=models.CASCADE)
  • 自关联关系 使用'self'指定

    # 一对多的自关联
    bid = models.ForeignKey('self',null=True,blank=True)
    # 多对多的自关联
    bid= models.ManyToManyField('self',null=True,blank=True)

    on_delete的作用:

    当一个引用的对象被删除时,Django 将模拟 on_delete参数所指定的 SQL 约束的行为

    常用的值:

    • CASCADE:级联删除

      Django 模拟了 SQL 约束 ON DELETE CASCADE 的行为,也删除了包含 ForeignKey 的对象

    • PROTECT:防止删除被引用对象

标签:关系,ForeignKey,models,Django,CASCADE,类型,True,delete
From: https://www.cnblogs.com/Durant0420/p/18367496

相关文章

  • 【YashanDB知识库】生成迁移报告失败,"报错未知类型错误异常:"
    【标题】YMP迁移【问题分类】迁移报告【关键字】迁移报告、未知类型错误异常【问题描述】下载迁移报告时报错“未知类型错误异常:”,一长串英文日志报错:【问题原因分析】java版本不对,ymp仅支持java8和11版本,用户环境用的21版本。【解决/规避方法】将java版本更新为8或者1......
  • WPF 类型转换器的实现
    1、MainWindow.xaml<Windowx:Class="WpfApplication1.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:sys=&qu......
  • 基于django+vue开发区流动人口服务系统的设计与开发【开题报告+程序+论文】计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着经济的快速发展和城市化进程的加速,开发区作为经济增长的重要引擎,吸引了大量流动人口涌入。这些流动人口为开发区的发展贡献了重要力量......
  • 基于django+vue君汇华府小区物业管理系统【开题报告+程序+论文】计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着城市化进程的加速,住宅小区作为城市居民生活的重要载体,其管理水平和服务质量直接影响到居民的生活品质与幸福感。君汇华府小区作为当地......
  • 基于django+vue抗疫互助平台系统【开题报告+程序+论文】计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景自新冠疫情爆发以来,全球公共卫生体系面临前所未有的挑战。疫情不仅考验着医疗系统的应对能力,也凸显了社会在物资调配、信息传递及心理支持......
  • 基于django+vue康养管理系统的设计与实现【开题报告+程序+论文】计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着人口老龄化的加速和生活水平的提高,人们对健康管理和养老服务的需求日益增长。传统的康养模式已难以满足个性化、高效化的服务需求,特别......
  • PyCharm社区版配置Django 项目Debug模式配置
    1、编辑Django项目运行配置 2、选择python,点击添加 3、设置相关参数 ......
  • Redis的十大数据类型的常用命令(上)
    目录1.key的操作命令2.String的常用命令案例一:dy点赞案例二:文章的喜欢数3.List的常用命令案例:公众号订阅的消息4.Hash的常用命令案例:早期购物车设计5.Set的常用命令案例一:抽奖小程序案例二:朋友圈点赞案例三:朋友圈点赞6.Zset的常用集合(sortedset)案例一:根据商品......
  • 计算机毕业设计django+vue基于水果超市管理系统【开题+论文+程序】
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和电子商务的普及,传统零售业正面临着前所未有的挑战与机遇。水果超市作为日常生活中不可或缺的一部分,其管理模式亟......
  • 计算机毕业设计django+vue音乐网站的设计与实现【开题+论文+程序】
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网的飞速发展,音乐已成为人们日常生活中不可或缺的一部分,数字音乐平台的兴起更是极大地丰富了人们的音乐获取方式。传统的音乐播放......