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

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

0904自我总结 django模型中有关系删除相关设置 一.一对一 例如有Author、AuthorDetail两 author = models.OneToOneField(to='Author...AuthorDetail:作者删除详情删除,详情删除作者保留 2)作者找详情用 related_name(detail),详情找作者用 字段(author) 3)db_constraint...Book(多一方):出版社删除书不动,书删除没有任何影响 2)出版社找书用 related_name(books),书找出版社 字段(publish) 3)db_constraint...断开关联,on_delete规定逻辑关联删除动作,models.DO_NOTHING关联无动作 三.以外字段关联 1)断关联,删除关联表记录,键值置 db_constraint=False,...两者区别 models.SET关联内容删了,关联相关内容不会删除 models.CASCAD关联内容删了,关联相关内容会删除 db_constraint关系断开后,但是不影响联查询 四.多对多关系

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

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

如果你Field是BooleanField,那么对应字段则为NullBooleanField。 2. db_column 这个字段在数据库名字。...比如我们想要在数据库映射时候使用自己指定名,而不是使用模型名称。那么我们可以在Meta类添加一个db_table属性。...关系 在MySQL有两种引擎,一种是InnoDB,另外一种是myisam。如果使用是InnoDB引擎,是支持约束存在使得ORM框架在处理关系时候异常强大。...即只要这条数据引用了那条数据,那么就不能删除外那条数据。 3.SET_NULL:设置为。如果那条数据被删除了,那么在本条数据上就将这个字段设置为。...5.SET():如果那条数据被删除了。那么将会获取SET函数值来作为这个值。

3.9K30

MySQL数据库——约束(非约束、唯一约束、主键约束、约束)

目录 1 约束 约束,是对表数据进行限定,保证数据正确性、有效性和完整性,约束分为以下几类: 主键约束:primary key 非约束:not null 唯一约束:unique 约束:foreign...主键约束:primary key 1)注意: 若某一列添加了该约束,则代表了非,且唯一; 一张只能有一个字段为主键; 主键就是记录唯一标识; 2)创建时添加主键约束 CREATE TABLE...以上仍然存在一个问题,当在员工输入不存部门时,数据依然可以添加,不符合实际,因此,这里就可以通过使用约束来解决。 【概念】什么是约束?...,就是从与主表主键对应那一列,如:员工dep_id,其中,主表是一方,用来约束别人,从可以是多方,被别人约束。 注意:可以为NULL,但是不能是不存在键值。 ?...id,同时希望自动改动员工id,这时就需要进行级联操作,需要在添加时候设置级联: 添加级联操作:ALTER TABLE 名称 ADD CONSTRAINT 键名称 FOREIGN KEY

13.7K21

Django——ContentType(与多个建立关系)及ContentType-signals使用

一、ContentType  在django,有一个记录了项目中所有model元数据,就是ContentType,中一条记录对应着一个存在model,所以可以通过一个ContentType...可以看到,我们通过model_class就可以获取对应类。也就是说,今后,我们如果自己定义model如果有关联到這个ContentType上,我们就能找到对应model名称。...怎么从这张操作记录得到相应操作model呢,这就得用到fields.GenericForeignKey,它是一个特殊,可以指向任何Model实例,在这里就可以通过这个字段来指向类似Post...是再给上面的增加一个,然后重新修改数据库么?显然是不能,一旦数据库被创建了,我们几乎很少再去修改数据,如果再给其添加额外字段,无疑会带来不必要麻烦。...总之,如果一个与其他有多个关系,我们可以通过ContentType来解决这种关联。

4.3K20

Laravel获取所有数据库及结构方法

遇到一个需求,需要修改数据库所有包含email字段,要把里面的长度改为128位。Laravel获取所有,然后循环判断表里面有没有email这个字段。...($table); } Schema::getColumnListing('user'); Schema::hasColumn($table, $column_name) 这里记一笔,比知道有没有更好方法一步获取到当前连接数据库里面的所有...,我是用原生sql语句show tables查出所有,然后取出Tables_in_new_bcc_web这一列,然后才得到所有名,然后再去循环。...找到一个更棒方式: public function getDatabaseColumns() { $tables = array_map('reset', \DB::select('SHOW TABLES...v)) { $table[] = $value; }; } } $table = array_unique($table); dd($table); } 以上这篇Laravel获取所有数据库及结构方法就是小编分享给大家全部内容了

2.2K31

VBA代码:获取并列出工作所有批注

标签:VBA 在使用Excel工作时,我们往往会对某些单元格插入批注来解释其中数据,用户也可能会插入批注来写下他们建议。...如果你工作中有很多批注,而你不想逐个点开查看,那么可以将所有批注集中显示在工作。...本文给出代码将获取工作所有的批注,并将它们放置在一个单独工作,清楚地显示批注所在单元格、批注人和批注内容。...ExComment.Text) - InStr(1, ExComment.Text, ":")) End If Next ExComment End Sub 代码首先检查当前工作是否存在批注...如果有批注,则创建一个用于放置批注名为“批注列表”工作,其中,在列A放置批注所在单元格地址,列B放置写批注的人名,列C是批注内容。

2.4K20

删除数据库未指定名称存储过程

数据库某个A,因为业务原因被移到别的库。麻烦是,有几张子表(B, C, D等)建有指向它,而且在创建时没有指定统一键名。...如此一来,在不同环境(开发、测试、生产等)名称不一样,必须逐个去查询键名再进行删除,十分不便。...Oracle存储过程代码如下: -- 删除指定、指定列上(系统命名或未知名) CREATE OR REPLACE PROCEDURE DROP_FK(P_TABLE IN VARCHAR2,...: -- 删除指定、指定列上(系统命名或未知名) CREATE OR REPLACE FUNCTION DROP_FK(P_TABLE IN VARCHAR, P_COLUMN IN VARCHAR...: DELIMITER // DROP PROCEDURE IF EXISTS drop_fk// -- 删除指定、指定列上(系统命名或未知名) CREATE PROCEDURE drop_fk

1.3K10

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

断关联关系 断关联关系不会影响连查询操作、可以提升增删改效率、易于后期数据库重构,缺点:数据库没有连检测,容易出现脏数据,需要通过严格逻辑避免脏数据产生。...假设图书管理系统书、出版社、作者、作者详细信息四张之间关系如下: """ 关系 1)Book 和 Publish 一对多:在多一方 Book 2)Book 和 Author 多对多:在查询频率高一方...例子:部门没有了,部门员工里部门字段改为未分组部门id字段为NULL 注:多对多字段不能设置on_delete级联关系,如果要处理级联关系,需要手动明确关系,处理关系多个 3)db_constraint...,取消两级联,将默认值设置为反向查询字段名设置为book authors = models.ManyToManyField(to='Author', related_name...,将两张设置为级联,并将反向查询字段名设置为detail 数据库脏数据介绍 数据库中常见并发操作所带来了一致性问题包括:丢失修改,不可重复读,读“脏”数据,幻读。

4.3K30

2018-11-26 oracle查询信息(索引,,列等)1、查询出所有的用户2、查询出用户所有索引3、查询用户索引(非聚集索引):4、查询用户主键(聚集索引):5、查询索引6

oracle查询信息,包括名,字段名,字段类型,主键,唯一性约束信息,索引信息查询SQL如下,希望对大家有所帮助: 1、查询出所有的用户 select * from user_tables...: select * from user_cons_columns cl where cl.constraint_name = 键名称 查询引用列名: select * from user_cons_columns...cl where cl.constraint_name = 引用键名 9、查询所有列及其属性 方法一: select * from user_tab_columns where table_name...b.column_name 主键列, c.owner 拥有者, c.table_name , d.column_name...' --需要查看主外关系 ORDER BY a.table_name

2.9K20

所有错误自动替换为?这样做就算列数变了也不怕!

小勤:怎么把表里面的错误都替换成为值? 大海:Power Query里选中全,替换错误值啊! 小勤:这个我知道啊。但是这个列是动态,下次多了一列这个方法就不行了,又得重新搞一遍。...大海:我们先来看一下这个生成公式: 其中,导致增加或减少列之后不能动态更新问题主要在于生成了固定列名对应替换值,如上图红框所示。 小勤:对,如果这部分内容能变成动态就好了。...大海:首先,我们要得到所有列名,可以用函数Table.ColumnNames,如下图所示: 小勤:嗯,这个函数也简单。但是,怎么再给每个列名多带一个值呢?...比如,我们还可以再构造一个列表,里面每一个元素都是值,列名有多少个值,我们就重复多少个值,如下所示: 小勤:理解了,就是给一个初始列表,然后按列数(Table.ColumnCount)进行重复...大海:其实长公式就是这样一步步“凑”成,另外,注意你“更改类型”步骤里列是固定哦。 小勤:嗯,这个我知道。后面我再按需要去掉这个步骤或做其他修改就是了。

1.8K30

MYSQL数据库-约束

1、属性 两个值:null(默认)和not null(不为) 数据库默认字段基本都是字段为,但是实际开发时,尽可能保证字段不为,因为数据为没办法参与运算 示例:创建一个班级,...在关系数据库,索引是一种单独、物理数据库中一列或多列值进行排序一种存储结构,它是某个中一列或若干列值集合和相应指向物理标识这些值数据页逻辑指针清单 索引作用相当于图书目录...这样可以使对应于SQL语句执行得更快,可快速访问数据库特定信息 7、唯一 一张中有往往有很多字段需要唯一性,数据不能重复,但是一张只能有一个主键:唯一就可以解决中有多个字段需要唯一性约束问题...示例: 8、 用于定义主表和从之间关系约束主要定义在从上,主表则必须是有主键约束或unique约束。...解决方案就是通过完成。建立本质其实就是把相关性交给mysql去审核了,提前告诉mysql之间约束关系,那么当用户插入不符合业务逻辑数据时候,mysql不允许你插入

7.5K30

【MySQL】约束

一、属性 两个值:null(默认) 和 not null(不为) 数据库默认字段基本都是字段为,但是实际开发时,尽可能保证字段不为,因为数据为没办法参与运算,任何数与 null 相加都为 null...,如下: 假设我们需要创建一个班级,包含班级名和班级所在教室,站在正常业务逻辑: 如果班级没有名字,你不知道你在哪个班级 如果教室名字可以为,就不知道在哪上课 所以我们在设计数据库时候,一定要在中进行限制...我们可以通过 select last_insert_id(); 查看上一次插入 auto_increment 值: 索引:在关系数据库,索引是一种单独、物理数据库中一列或多列值进行排序一种存储结构...(20) -> ); 查看表结构: 插入相同 id 会报错,因为 id 字段具有唯一: 但是可以插入: 八、 用于定义主表和从之间关系约束主要定义在从上,主表则必须是有主键约束或...所以以上两张表现在只有关联关系,却没有约束关系,是有问题就很好地解决了这个问题,就是为这两张建立约束。 那么我们要为哪个添加约束呢?

10510

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券