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

django在开发取消约束的实现

# 在setting设置 'OPTIONS': { "init_command": "SET foreign_key_checks = 0;", } 补充知识:django-给关系传值...''' 两种方法 教室ClassRoom和教室编号ClassNumber 字段在django类里名(room_number)在数据库名(room_number_id) '''      # 一.1...(数据库的字段名字room_number_id)的值,将相对应的值直接赋值给该字段      class_number = ClassNumber.object.get("id=1").room_number...字段在django类里名(room_number)在数据库名(room_number_id)      c.save() return HttpResponse("ojbk") 多对一: 类似一对一...s.teacher.remove(x) return HttpResponse("ojbk") 以上这篇django实现在开发取消约束就是小编分享给大家的全部内容了,希望能给大家一个参考。

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

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

因为Django在处理字符串相关的Field的时候,即使这个Field的null=False,如果你没有给这个Field传递任何值,那么Django也会使用一个空的字符串""来作为默认值存储进去。...和表关系 在MySQL,表有两种引擎,一种是InnoDB,另外一种是myisam。如果使用的是InnoDB引擎,是支持约束的。的存在使得ORM框架在处理表关系的时候异常的强大。...因此这里我们首先来介绍下Django的使用。 类定义为class ForeignKey(to,on_delete,**options)。...因此在底层,Django为Article表添加了一个属性名_id的字段(比如author的字段名称是author_id),这个字段是一个,记录着对应的作者的主键。...如果一个模型使用了

3.9K30

Django(15)和表关系

删除操作 如果一个模型使用了。那么在对方那个模型被删掉后,该进行什么样的操作。可以通过on_delete来指定。可以指定的类型如下: CASCADE:级联操作。...如果对应的那条数据被删除了,那么这条数据也会被删除。 PROTECT:受保护。即只要这条数据引用了的那条数据,那么就不能删除外的那条数据。 SET_NULL:设置为空。...那么将会获取SET函数的值来作为这个的值。SET函数可以接收一个可以调用的对象(比如函数或者方法),如果是可以调用的对象,那么会将这个对象调用后的结果作为值返回回去。...注意:以上这些选项只是Django级别的,数据级别依旧是RESTRICT! 表关系 表之间的关系都是通过来进行关联的。而表之间的关系,无非就是三种关系:一对一、一对多、多对多等。...如果不想使用Django默认的引用属性名字。那么可以在OneToOneField添加一个related_name参数。

2.1K40

django 引用自身和on_delete参数

如果对应的那条数据被删除了,那么这条数据也会被删除。 PROTECT:受保护。即只要这条数据引用了的那条数据,那么就不能删除外的那条数据。如果我们强行删除,Django就会报错。...那么将会获取SET函数的值来作为这个的值。SET函数可以接收一个可以调用的对象(比如函数或者方法),如果是可以调用的对象,那么会将这个对象调用后的结果作为值返回回去。...、update的时候,子表会将关联记录的字段所在列设为null,所以注意在设计子表时不能设为not null; 为什么在django可以是用不同的约束去操作数据库呢。...比如 django on_delete=CASCADE, 但是数据库的约束是RESTRICT....在进行删除A表数据时,发现被约束着,使数据不能被删除,则django会先去删除约束的B表数据,然后再来删除A表数据。

1.3K20

django 2.x版本models.ForeignKey()说明介绍

2、to_field表示健关联的主键 3、on_delete有多个选项 在django2.0后,定义和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错...SET_NULL:此值设置,会把设置为null,前提是允许为null。 SET_DEFAULT:此值设置,会把设置为的默认值。 SET():此值设置,会调用外面的值,可以是一个函数。...当我们查询一个组有那些用户的时候,就会用到当前的健, 创建记录 并且,在class定义了foreignKey之后,group还不存在的同时,user表也因为约束的原因,不能被进行创建 删除记录 并且...,在class定义了foreignKey之后,user记录存在的同时,group表的记录也因为约束的原因,不能被进行删除 补充知识:owner = models.ForeignKey(User)...2.x版本models.ForeignKey()说明介绍就是小编分享给大家的全部内容了,希望能给大家一个参考。

1.1K20

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

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

1.9K10

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断开表关联,...on_delete规定逻辑关联删除动作,models.DO_NOTHING关联无动作 三.以外字段关联 1)断关联,删除关联表记录,键值置空 db_constraint=False, on_delete...,反向找 字段related_name 3)db_constraint断开表关联,on_delete不存在(不设置,本质在第三张表设置,且一定是级联)

3K20

django序列化时使用的真实值操作

展示: 一般情况下序列化得到的的内容只是id: ... { fields: { uat_date: "2015-07-25", statu: "CG", name: "慢赢优化",...方法: 我序列化的是Content表,它含有一个关联的是Module表,1对多 我要先序列化Module表,然后序列化Content表的时候才可以使用到Module的真实值 class ModuleManager...actual_key,要保证先序列化,如下依赖: class Content(models.Model): name = models.CharField(max_length=100) ......,) + self.module.natural_key() # 和"def"同缩进 natural_key.dependencies = ['example_app.module'] 补充知识:django...原生的序列化serialize解析 在写接口的时候,大家都离不开对query结果集的序列化 嗯嗯嗯,一般我们都有DRF里面的序列化工具,但是django原生的serialize你们有 用过吗??????

1.8K10

Django(ForeignKey)操作以及related_name的作用

之前已经写过一篇关于Django的文章,但是当时并没有介绍如何根据对数据的操作,也就是如何通过主表查询子表或者通过子表查询主表的信息 首先我定义了两个模型,一个是老师模型,一个是学生模型,...: 第一步需要做的自然还是需要将我们的模型导入进来,并获取老师的相关信息 返回一个teacher对象,接下来就是查询teacher相关联的学生对象,在这里有一个需要注意的点,django...默认情况下每一个主表的对象都有一个是的属性,可以通过它查询到所有关于子表的信息,这个属性的名字就是子表的名称小写加上_set,具体到这个就是student_set,默认返回的是QuerySet,操作如下...,那么就可以通过定义时候的那个的字段名获取关于主表的信息了 比如我得到了一个student对象,然后我想要得到这个student对象对应的主表teache的信息的话,就使用 student.teacher...获取,其中这个teacher就是在子表定义的字段,如下: 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149807.html原文链接:https://javaforall.cn

1.9K10

laravel5.6约束示例

场景 如果现在有两张表,一张表是文章表articles,一张表是分类表categories,其中在文章表中有一个分类字段category_id,现在想在删除分类表的某一分类时,该分类下的所有文章也一起被删除...,那么这时候就可以用到外约束 具体用法如下: 给文章表添加约束 $table- unsignedInteger('category_id')- comment('文章所属分类|select');...foreign('category_id')- references('id')- on('categories')- onDelete('cascade'); 其中需要注意的是分类表categories的主键字段...id与文章表articles字段category_id的数据类型或者是数据长度要保持一致,因为作为主键的id值是从1开始自增的,所以在被其绑定的字段的数据类型就不能使用integer,而要改用...unsignedInteger 以上这篇laravel5.6约束示例就是小编分享给大家的全部内容了,希望能给大家一个参考。

1.7K31
领券