首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

django模型中有关系表删除相关设置

0904自我总结 django模型中有关系表删除相关设置 一.一对一 例如有Author、AuthorDetail两表 author = models.OneToOneField(to='Author...作者删除详情删除,详情删除作者保留 2)作者找详情用 related_name(detail),详情找作者用 字段(author) 3)db_constraint断开表关联,on_delete...多一方):出版社删除书不动,书删除没有任何影响 2)出版社找书用 related_name(books),书找出版社 字段(publish) 3)db_constraint断开表关联,...=models.SET_NULL, null=True, 2)断关联,删除关联表记录,键值置默认 db_constraint=False, on_delete=models.SET_DEFAULT...,反向找 字段related_name 3)db_constraint断开表关联,on_delete不存在(不设置,本质在第三张表设置,且一定是级联)

3K20
您找到你想要的搜索结果了吗?
是的
没有找到

django在开发取消约束实现

# 在setting设置 'OPTIONS': { "init_command": "SET foreign_key_checks = 0;", } 补充知识:django-给关系传...,删除外关系 反查: 在表关系里 related_name = ‘反查name’,自己不设置,django也会默认设置为class小写名字+_set , ex: book_set....(数据库字段名字room_number_id),将相对应直接赋值给该字段      class_number = ClassNumber.object.get("id=1").room_number...‘001'复制给数据库字段 字段在django类里名(room_number)在数据库名(room_number_id)      c.save() return HttpResponse("ojbk...s.teacher.remove(x) return HttpResponse("ojbk") 以上这篇django实现在开发取消约束就是小编分享给大家全部内容了,希望能给大家一个参考。

3.6K10

Django学习-第七讲:django 常用字段、字段属性,和表关系、操作

因此这里我们首先来介绍下Django使用。 类定义为class ForeignKey(to,on_delete,**options)。...比如有一个Category和一个Article两个模型。一个Category可以有多个文章,一个Article只能有一个Category,并且通过进行引用。...以后通过article.author访问时候,实际上是先通过author_id找到对应数据,然后再提取User表这条数据,形成一个模型。...那么在对方那个模型被删掉后,该进行什么样操作。可以通过on_delete来指定。可以指定类型如下: 1.CASCADE:级联操作。如果对应那条数据被删除了,那么这条数据也会被删除。...5.SET():如果那条数据被删除了。那么将会获取SET函数来作为这个

3.9K30

Python如何通过input输入一个,然后自动打印对应

一、前言 前几天在Python最强王者交流群【冯诚】问了一个Python基础问题,一起来看看吧。...问题描述:大佬们,我有个字典如下:dict = {'b': 2, 'a': 4, 'c': 3} 如何通过input输入一个,然后自动打印对应?...二、实现过程 这里【巭孬】给了一个思路,代码如下所示: print(dict.get(input("请输入"),None)) 顺利地解决了粉丝问题。...这篇文章主要盘点了一个Pandas数据处理问题,文中针对该问题,给出了具体解析和代码实现,帮助粉丝顺利解决了问题。...最后感谢粉丝【冯诚】提出问题,感谢【巭孬】给出思路,感谢【甯同学】、【瑜亮老师】等人参与学习交流。

14710

Django 2.2文档系列】Model on_delete参数用法

场景 我们用DjangoModel时,有时候需要关联。关联时,参数:on_delete几个配置选项到底是干嘛呢,你知道吗? 参数介绍 models.CASCADE 级联删除。...Django会模拟SQL约束行为,在删除此条数据时,同事删除外关联对象。...当数据被删除时,被关联内容被设置为null。 models.SET_DEFAULT 将设置为默认必须设置有默认 。...models.SET()将SET()设置作为 ,如果传递了callable,则调用它结果。 DO_NOTHING不采取行动。...如果后端数据库有强制关联操作,这是容易报错:IntegrityError,除非你在数据库手动添加了SQLON DELETE约束。

1.9K10

Django基表创建、字段属性简介、脏数据概念、子序列化

通过逻辑将A、B表进行连表查询,不会有任何异常。两张表建立了一对一字段,在A表,那么先往B表写数据就更合理。...更合理) """ Django orm中外字段属性详解 在建表之前我们对外字段属性进行了解: 1)related_name在外设置反向查询字段名:正向找字段名,反向找related_name...,related_name默认是表名小写 + _set,这就是为什么在Django跨表反向查询时我们使用表名小写 + _set去查另一张表数据。...子序列化 Django子序列化功能是:通过跨表查询数据然后对跨表查到数据反序列化。...如果涉及到通过进行跨表查询,然后再将查询数据反序列化到前台就需要用到子序列化,比如下面的例子:我们查询出版社信息时候连带将book表该出版社所出版过书名一并查出来。

4.3K30

关于“Python”核心知识点整理大全59

下面来修改模型Topic,在其中添加一个关联到用户。这样做后,我们必须对数据库 进行迁移。最后,我们必须对有些视图进行修改,使其只显示与当前登录用户相关联数据。 1....添加了字段owner,它建 立到模型User关系。...在2处输出Django指出我们试图给既有 模型Topic添加一个必不可少(不可为空)字段,而该字段没有默认。...接下来,Django使用这个来迁移数据库,并生成 了迁移文件0003_topic_owner.py,它在模型Topic添加字段owner。 现在可以执行迁移了。...Django意思是说,创建新主题时,你必须指定其owner字段。 由于我们可以通过request对象获悉当前用户,因此存在一个修复这种问题简单方案。

11510

Django之ForeignKey和ManyToManyField多表查询

只有在db_constraint=True时Django model才会在数据库上建立约束, 在该为False时不建立约束. 默认db_constraint=True....被索引关系模型可以访问所有参照它模型实例,Entry.blog作为Blog,默认情况下Blog.entry_set是包含所有参照BlogEntry示例查询集,可以使用查询集API取出相应实例...在这种情况下,必须使用through_fields 明确指定Django 应该使用哪些 through_fields 接收一个二元组('field1', 'field2'),其中field1 为指向定义...ManyToManyField 字段模型键名称(本例为group),field2 为指向目标模型名称(本例为person)....ManyToManyField.db_table 默认情况下,关联表名称使用多对多字段名称和包含这张表模型名称以及Hash生成,:memberShip_person_3c1f5 若要想要手动指定表名称

1.7K10

Django-Multitenant,分布式多租户数据库项目实战(PythonDjango+Postgres+Citus)

目录 项目源码 安装 支持 Django 版本/前提条件。 用法 模型变化 使用 mixins 更改模型 在 db 层自动化复合: 在哪里设置租户?...支持 API Python/Django 支持分布式多租户数据库, Postgres+Citus。...: 使用 mixins 更改模型 在您要使用库任何文件,只需: 所有模型都应使用 TenantModelMixin 和 django models.Model 或您客户模型类 Ex: class...: 在 db 层自动化复合: 使用 TenantForeignKey 在租户相关模型之间创建将自动将 tenant_id 添加到引用查询(例如 product.purchases)和连接查询(例如...如果要确保在 db 层创建复合(带有 tenant_id),则应将 settings.py 数据库 ENGINE 更改为 django_multitenant.backends.postgresql

1.9K10

django_mysql_配置

在自己数据创建一个djangi_demo create database django_demo default charset=utf8; ---- 定义模型类 1....2) django会为表创建自动增长主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长主键列。...null是数据库范畴概念,blank是表单验证范畴 5) 一般我用CASCADE 在设置时,需要通过on_delete选项指明主表删除数据时,对于引用表数据如何处理,在django.db.models...包含了可选常量: CASCADE 级联,删除主表数据时连通一起删除外数据 PROTECT 保护,通过抛出ProtectedError异常,来阻止删除主表中被应用数据 SET_NULL...设置为NULL,仅在该字段null=True允许为null时可用 SET_DEFAULT 设置为默认,仅在该字段设置了默认时可用 SET() 设置为特定或者调用特定方法, from

1.6K10

Django框架学习(三)

4.数据库 ORM框架: 作用:将模型类和数据表进行对应,通过面向对象方式进行数据库操作。 flaskSQLALchemy Django自带ORM框架,可以直接进行使用。...AutoField选项使用 unique 如果为True, 这个字段在表必须有唯一,默认是False 在设置时,需要通过on_delete选项指明主表删除数据时,对于引用表数据如何处理...,在django.db.models包含了可选常量: CASCADE 级联,删除主表数据时连通一起删除外数据 PROTECT 保护,通过抛出ProtectedError异常,来阻止删除主表中被应用数据...子应用会默认为我们创建一些表, 4.4演示工具使用 4.4.1shell工具 Djangomanage工具提供了shell命令,帮助我们配置好当前工程运行环境(连接好数据库等),以便可以直接在终端执行测试...4.5通过模型类和对象进行数据操作(增删改查) 4.5.1新增 1、创建模型类对象,对象.save() 注意:添加HeroInfo时,可以给hbook赋值,也可以直接表hbook_id赋值 >>>

1.8K40

Django 模型层之多表操作

Author) def __str__(self): return self.name 注意事项: 1.id字段不写的话会自动添加 2.对于字段,Django会在字段名上添加..."_id"来创建数据库列名 3.字段ForeignKey有一个null=True设置,你可以赋给它空None 二.添加表记录 一对一: # 方式一: detail_obj = models.AuthorDetail.objects.filter...要做跨关系查询,就使用两个下划线来连接模型(model)间关联字段名称,知道最终链接到你想要model为止。...名称是聚合标识符,是计算出来聚合,名称是按照字段和聚合函数名称自动生成出来,如果你想要为聚合指定一个名称,可以向聚合子句提供一个名字。...Django提供了以下聚合函数 1.expression 引用模型字段一个字符串,或者一个query expression 2.output_field 用来表示返回model field

1.3K20

【云+社区年度正文】Django从入门到精通No.2----模型

,比如我们学过flask,里面的sqlalchemy就是这样一个优秀模块,通过它可以快速和数据库建立通道,从而使得web编程更为高效,本文主要讲解django模型。...1.多对一 因为是关联关系,所以我们必须指定两个类来进行相互操作,这里涉及到一个操作,即ForeignKey字段,而且要定义在多一方。...db_constraint=True # 是否在数据库创建约束 parent_link=False # 在Admin是否显示关联数据 2.多对多 多对多表...,必须设中间关联表,关联表设独立主键,并引入两个“多”头主键作为关联表。...六、总结 以上就是django所有的关于模型概念了,接下来小编将通过与数据库交互来带着大家一起操作表。

2.1K00

Django ForeignKey与数据库FOREIGN KEY约束详解

数据库在高并发场景下使用约束会有锁问题并且使用会增加运维成本,所以很多公司都规定生产环境数据库禁止使用。...那么不使用约束情况下使用 Django ORM 如何实现关联查询两个表呢?这曾是困扰我很久一个问题,今天终于找到了答案,写出来分享一下。...`name` = xxx; 补充知识:关于Django模型定义auto_now=True 数据库时间并没有自动更新 djangoorm关于更新数据库方法有update和save两种方法...前提在模型设置了auto_now=True时间戳属性,为了方便数据库自动更新时间,而 使用update更新记录,数据库并没有自动更新,达到我需求。...auto_now=True自动更新,有一个条件,就是要通过djangomodel层。 create或是save方法。

2.5K10

Django模型

Django模型 Django模型定义在models.py文件模型是MVTM,也相当于MVCM。 在Django模型必须继承自Model类。... 这个东西,通常都是在业务逻辑层面来实现,而不是在数据库实现。但是通常大家学习数据库课程,都会有数据库设计范式,其中有个第三范式就是专指约束。在这里只是简单介绍一下。...下面是另外一个模型,和前面的BookInfo模型通过关联起来。...通过使用models.ForeignKey来设置,ForeignKey第一个参数是要关联模型类名,第二个参数是on_delete。...它常用可以如下: CASCADE级联,删除主表数据时连通一起删除外数据 PROTECT保护,通过抛出ProtectedError异常,来阻止删除主表中被应用数据 SET_NULL设置为NULL

1.9K20
领券