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

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

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

4.3K20

python测试开发django-37.(ForeignKey)查询

前言 前面在admin后台页面通过设置,可以选择下拉框选项,本篇主要讲解关于(ForeignKey)查询 models设计 在上一篇基础上新增一个BankName表,Card表通过关联到...djangoshell模式,对表数据增删改查操作,打开cmd,cd到manage.py目录 python manage.py shell 先新增数据测试数据 D:\web_djo\helloworld...bank.card_set.all().count() 1 >>> bank.card_set.all()[0].card_id '62270121022100000' >>> related_name 当Card表...(ForeignKey)只有一个时,可以通过_set去查询到,当有多个时,就无法查询具体哪个了,这时候就需要加个related_name参数。...,方便多个时候去识别。

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

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

展示: 一般情况下序列化得到内容只是id: ... { fields: { uat_date: "2015-07-25", statu: "CG", name: "慢赢优化",...方法: 我序列化是Content表,它含有一个关联是Module表,1对多 我要先序列化Module表,然后序列化Content表时候才可以使用到Module真实值 class ModuleManager...jsons = serializers.serialize(‘json’, queryset,use_natural_foreign_keys=True) 附: 如果要给Content表序列化,那么要使用到外...actual_key,要保证先序列化,如下依赖: class Content(models.Model): name = models.CharField(max_length=100) ......,这种方法并不常用 在有特定需要时候,使用这种django原生序列化,还是十分方便

1.8K10

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

和表关系 在MySQL中,表有两种引擎,一种是InnoDB,另外一种是myisam。如果使用是InnoDB引擎,是支持约束存在使得ORM框架在处理表关系时候异常强大。...因此这里我们首先来介绍下Django使用。 类定义为class ForeignKey(to,on_delete,**options)。...一个Category可以有多个文章,一个Article只能有一个Category,并且通过进行引用。...因此在底层,Django为Article表添加了一个属性名_id字段(比如author字段名称是author_id),这个字段是一个,记录着对应作者主键。...如果一个模型使用

3.9K30

python Django 反向访问器冲突解决

我有两个继承一个基类Django模型: – Request – Inquiry – Analysis 请求有两个到内置用户模型。...“Analysis.assign_user”反向访问器与“Inquiry.assign_user”反向访问器冲突。...我读过所有内容说,设置related_name应该防止冲突,但我仍然得到相同错误。任何人都能想到为什么会发生这种情况?谢谢!...)s_requests_created’) 补充知识:django related_name禁用反向映射 官方文档处理办法: ?...直接将related_name赋值为加号或以加号结尾字符串,即可实现禁用反向映射 以上这篇python Django 反向访问器冲突解决就是小编分享给大家全部内容了,希望能给大家一个参考。

1.4K10

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

0904自我总结 django模型中有关系表删除相关设置 一.一对一 例如有Author、AuthorDetail两表 author = models.OneToOneField(to='Author...related_name(detail),详情找作者用 字段(author) 3)db_constraint断开表关联,on_delete规定逻辑关联删除动作,models.CASCADE级联删除...):出版社删除书不动,书删除没有任何影响 2)出版社找书用 related_name(books),书找出版社 字段(publish) 3)db_constraint断开表关联,on_delete...models.CASCAD关联表内容删了,关联相关内容会删除 db_constraint关系断开后,但是不影响联表查询 四.多对多关系 例如Book、Author两表 authors = models.ManyToManyField...,反向找 字段related_name 3)db_constraint断开表关联,on_delete不存在(不设置,本质在第三张表中设置,且一定是级联)

3K20

Django(ForeignKey)操作以及related_name作用

之前已经写过一篇关于Django文章,但是当时并没有介绍如何根据对数据操作,也就是如何通过主表查询子表或者通过子表查询主表信息 首先我定义了两个模型,一个是老师模型,一个是学生模型,...一个老师对应多个学生,这个算是一个一对多类型(如下图所示) 那么如果我们要想查询一个老师对应学生有哪些,该如何操作呢?...,并获取老师相关信息 返回一个teacher对象,接下来就是查询teacher相关联学生对象,在这里有一个需要注意点,django默认情况下每一个主表对象都有一个是属性,可以通过它查询到所有关于子表信息...migrate 从上图可以看到和之前_set操作效果是一样,这两个方法是相同,所以如果觉得比较麻烦的话,可以在定义主表时候,直接就给定义好名称使用related_name...上面的查询主要是通过主表查询子表信息 下面说一下如何通过子表查询主表相关信息,也就是查询一个学生所对应老师信息 首先需要先获取一个子表对象,那么就可以通过定义时候那个字段名获取关于主表信息了

2K10

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

场景 我们用DjangoModel时,有时候需要关联。关联时,参数:on_delete几个配置选项到底是干嘛呢,你知道吗? 参数介绍 models.CASCADE 级联删除。...Django会模拟SQL约束行为,在删除此条数据时,同事删除外关联对象。...比如:用户有一个关联是用户健康记录表,当用户删除时,配置了这个参数健康记录表中跟这个用户有关数据也会被删除。...当数据被删除时,被关联内容被设置为null。 models.SET_DEFAULT 将值设置为默认值。必须设置有默认值 。...models.SET()将SET()设置值作为值 ,如果传递了callable,则调用它结果。 DO_NOTHING不采取行动。

1.9K10

数据库不使用 9 个理由

经验告诉我,很多数据库(大多数我曾经使用)不包含时并不总是一件坏事。在这篇文章中,我想把重点放在为什么原因上。 为什么这是一个问题? 1....表格关系不清晰 数据库中缺少另一个不太明显负面影响是,不了解该模式的人很难找到正确表并找出表关系。这可能会导致严重数据库查询和报告问题。 为什么数据库可以没有?...让我们来看看数据库可以没有原因。首先一个简短免责声明(因为文章引发了一些关于LinkedIn群体争议): 下面的理由绝不鼓励不要在数据库中使用约束。...通常,成本大于收益,开发人员不用担心。 4. 更高层次框架 一些应用程序使用编程框架,在物理数据库之上创建另一个逻辑层。...这些框架可以自己创建数据库表,而不总是创建使用这些工具开发人员很少会干扰自动生成模式,并且不需要。 5.

1.1K10

数据库不推荐使用9个理由

来源:www.jdon.com/49188 我经验告诉我,很多数据库(大多数我曾经使用)不包含时并不总是一件坏事。在这篇文章中,我想把重点放在为什么原因上。 为什么这是一个问题?...2.表格关系不清晰 数据库中缺少另一个不太明显负面影响是,不了解该模式的人很难找到正确表并找出表关系。这可能会导致严重数据库查询和报告问题。 为什么数据库可以没有?...让我们来看看数据库可以没有原因。首先一个简短免责声明(因为文章引发了一些关于LinkedIn群体争议): 下面的理由绝不鼓励不要在数据库中使用约束。...通常,成本大于收益,开发人员不用担心。 4.更高层次框架 一些应用程序使用编程框架,在物理数据库之上创建另一个逻辑层。...这些框架可以自己创建数据库表,而不总是创建使用这些工具开发人员很少会干扰自动生成模式,并且不需要

2K10

数据库不推荐使用 9 个理由

2.表格关系不清晰 数据库中缺少另一个不太明显负面影响是,不了解该模式的人很难找到正确表并找出表关系。这可能会导致严重数据库查询和报告问题。 为什么数据库可以没有?...让我们来看看数据库可以没有原因。首先一个简短免责声明(因为文章引发了一些关于LinkedIn群体争议): 下面的理由绝不鼓励不要在数据库中使用约束。...1.性能 在表上拥有活动可以提高数据质量,但会影响插入、更新和删除操作性能。在这些任务之前,数据库需要检查它是否违反数据完整性。这就是为什么一些架构师和DBA完全放弃原因。...通常,成本大于收益,开发人员不用担心。 4.更高层次框架 一些应用程序使用编程框架,在物理数据库之上创建另一个逻辑层。...这些框架可以自己创建数据库表,而不总是创建使用这些工具开发人员很少会干扰自动生成模式,并且不需要

1.6K30

Django:使用filterpk进行多值查询操作

由于想要做收藏夹功能,所以希望能够一次性查询出所有id对象,查看文档,找到了如下方法 pk是primary key缩写,顾名思义pk_in就是primary key在某一个范围内,具体操作(以自带...User为例): User.objects.filter(pk__in=[1,2,3]) 这样就可以去除id为1,2,3User对象了,很方便 注意是两个下划线 另外,还要pk__gt和pl_lt...pk__lt=10) 意味着将要得到pk小于10对象 补充知识:Django 比较同一个model中两个字段,进行条件过滤 django orm中怎么样比较同一个模型中两个字段来过滤记录呢?...select *from contracts where contract_stop_time<end_time 这里要是用db模块中F 库才行 F object from django.db.models...以上这篇Django:使用filterpk进行多值查询操作就是小编分享给大家全部内容了,希望能给大家一个参考。

1.5K30

django admin中配置搜索域是一个处理方法

python 2.7.11 django 1.8.4 错误内容:related Field has invalid lookup: icontains 我原来默认认为在处理搜索时候,django...会自动将该行数据以str()化之后进行搜索,但其实并不是这样,如果将加入到搜索域中,需要明确写出来。...Django admin 系统中搜索时可能会出现“related Field has invalid lookup: icontains”错误,主要原因是查询是需要指定相应字段。...不应该只是一个model,而该是另一个表明确一个字段。 所以我们需要指定特定字段 “本表字段__所在表需查询字段”。...补充知识:Djangomodel中使用,但在页面上显示是xxx_object?

3.8K20

MySQL实战七:你不知道与约束使用

如果你创建表时候加上了check约束也是不起作用。所以,你不用更改或删除之前check约束。...2.2 2.2.1 创建 (1)不带别名,数据库自动生成 首先创建department表: CREATE TABLE department ( dept_name varchar...,用来设置当主键表中被参考列数据发生变化时,表中响应字段变换规则。...学习 cascade 表示级联操作,就是说,如果主键表中被参考字段更新,表(子表)中也更新,主键表(父表)中记录被删除,表(子表)中改行也相应删除。...而on update只能删除子表数据,不能删除父表主键数据,只能更新父表主键,同时父子表数据都会被更新,但是在子表上做更新操作无效。

4.3K20
领券