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

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

模型Meta配置 对于一些模型级别的配置。我们可以在模型定义一个,叫做Meta。然后在这个添加一些类属性来控制模型作用。...表关系 在MySQL,表有两种引擎,一种是InnoDB,另外一种是myisam。如果使用是InnoDB引擎,是支持约束存在使得ORM框架在处理表关系时候异常强大。...因此这里我们首先来介绍下Django使用。 定义为class ForeignKey(to,on_delete,**options)。...因此在底层,Django为Article表添加了一个属性名_id字段(比如author字段名称是author_id),这个字段是一个,记录着对应作者主键。...以上例为例,如果UserArticle不是在同一个app # User模型在user这个app class User(models.Model): username = models.CharField

3.9K30

django 模型计算字段实例

verbose_name='姓') given_name = models.CharField(max_length=20, verbose_name='名') def name(self): # 计算字段要显示在修改页面只能定义在只读字段...(app.PersonAdmin),第二个是这个管理模型实例(Person) return '%s,%s' % (self.family_name, self.given_name)...(Person, PersonAdmin) 补充知识:django如何在 search_fields 包含字段 在search_fields中加入一个名字是不能查询,要写成(键名__字段名...)形式. search_fields = ('attributename','goodsclass__cn') # goodsclass__cn 就可以搜索名字中有搜索词条目了, # 比如搜索手机分辨率...,而不是电脑分辨率,就可以搜索'手机 分辨率' 以上这篇django 模型计算字段实例就是小编分享给大家全部内容了,希望能给大家一个参考。

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

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...(to='Author', null=True, related_name='books', db_constraint=False, ) 1)关系字段放在任意一方都可以...:出版社删除或书删除彼此不影响,但关系表一定级联删除 2)正向找 字段,反向找 字段related_name 3)db_constraint断开表关联,on_delete不存在(不设置,本质在第三张表设置

3K20

Django模型设计及展示示例详解

django设计数据模型是基于ORM对象关系映射更方便进行数据库数据操作。...对象关系映射 把面向对象和数据库表–对应,通过操作对象,对数表实现数据操作,不需要写sql,由ORM框架生成 django实现了ORM框架,在项目中与数据库之间产生桥梁作用 django数据库定义模型步骤如下...FileFiled,对上传内容进行校验,确保是有效地图片 ForeignKey: ,建立一对多关系 from django.db import models # Create your models...然后开启django项目输入 http://127.0.0.1 :8000/admin/ 用户名密码填写 登陆进去后就会看到创建数据模型 ? 点击add可以添加一些数据 会有你写模型 ?...django简单项目关于模型展示设计都完成啦!!! 总结 到此这篇关于Django模型设计及展示示例详解文章就介绍到这了,更多相关django模型设计及展示内容请搜索ZaLou.Cn

1.4K30

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

Django基表设置 通过图书管理系统引入多表操作:如果我们创建表方式是先抽象出表与表之间相同字段建一个父,然后在用每个表去继承这个父,如下面的代码,我们将无法得到期望字段。...db_table = 'xxx'指定该类数据库表单名字。当然如果不指定也没关系,Django会自动默认按照一定规则生成数据模型对应数据库表名。...假设图书管理系统书、出版社、作者、作者详细信息四张表之间关系如下: """ 表关系 1)Book Publish 一对多:在多一方 Book 2)Book Author 多对多:在查询频率高一方...更合理) """ Django orm中外字段属性详解 在建表之前我们对外字段属性进行了解: 1)related_name在外设置反向查询字段名:正向找字段名,反向找related_name...1.丢失修改:一个事物更新覆盖了另一个事物更新。例如:事物AB读入同一数据并修改,B提交结果破坏了A提交结果,导致A修改被丢失。

4.3K30

Django 模型继承 BaseModel

related_query_name 要格外小心 若你在 或 多对多字段 使用了 related_name 或 related_query_name,你必须为该字段提供一个 独一无二 反向名字查询名字...一个代理模型也可以继承任意数量代理模型,只需他们共享同一个非抽象父。 代理模型管理器¶ 若你未在代理模型中指定模型管理器,它会从父模型中继承。...在 Django 模型字段通常不允许这样做。如果一个非抽象模型有一个名为 author 字段,你就不能在继承自该基任何,创建另一个名为 author 模型字段或属性。...注解 某些字段模型内定义了额外属性,例如 ForeignKey 定义了一个额外属性 _id 附加在字段名上,类似的还有 related_name related_query_name。...__init__ 中指定哪个字段被初始化)序列化。这些都是普通 Python 继承所不需要处理功能,所以 Django 模型继承 Python 继承之间区别并不是任意

2K10

Django关系映射

在关系型数据库,通常不会把所有数据都放在同一张表,不易于扩展。...users = models.OneToOneField(UserMit,on_delete=models.CASCADE) # 一对一即users_id 对应 id 一对一映射(创建数据) ---- 无约束模型...UserMit # 进入Django Shell操作 create1 = UserMit.objects.create(name="henan) 有约束模型UserId create2 = UserId.objects.create...') 反向查询 没有属性一方,可以调用反向属性查询到关联另一方 反向关联属性为实例对象.引用名(小写) 当反向引用不存在时候,则会触发异常 当UserId定义了约束...MySQL创建多对多需要以来第三张表来完成 Django无需手动创建,Django自动完成 语法:在关联两个任意一个models.ManyToManyField(MyModel

1.7K20

Django模型最佳实践

不要将数据文件放在同一个目录。...模型定义参考 字段字段名称限制 字段名不能是Python保留字,否则会导致语法错误 字段名不能有多个连续下划线,否则影响ORM查询操作 Django模型字段 字段 说明 AutoField...default 字段默认值 editable 字段在后台模型管理或ModelForm是否显示,默认为True error_messages 设定字段抛出异常时默认消息字典,其中包括null...on_delete:关联对象被删除时对应动作,可取值包括django.db.models定义: CASCADE:级联删除。...through:指定维持多对多关系中间表Django模型。 throughfields:定义了中间模型时可以指定建立多对多关系字段。 db_table:指定维持多对多关系中间表表名。

2.2K40

django 1.8 官方文档翻译:2-1-1 模型语法

,要显式指定并关联到多对多关系涉及模型。...中介模型有一些限制: 中介模型必须有且只有一个到源模型(上面例子Group),或者你必须使用ManyToManyField.through_fields 显式指定Django 应该使用。...如果你模型存在超个一个,并且through_fields没有指定,将会触发一个无效错误。 对目标模型有相同限制(上面例子 Person)。...对于通过中介模型与自己进行多对多关联模型,允许存在到同一模型两个,但它们将被作为多对多关联关系两个(不同)方面。...Changed in Django 1.7: 在Django 1.6 及之前版本,中介模型禁止包含多于一个

4.9K20

Django模型

Django模型 Django模型定义在models.py文件模型是MVTM,也相当于MVCM。 在Django模型必须继承自Model。... 这个东西,通常都是在业务逻辑层面来实现,而不是在数据库实现。但是通常大家学习数据库课程,都会有数据库设计范式,其中有个第三范式就是专指约束。在这里只是简单介绍一下。...下面是另外一个模型前面的BookInfo模型通过关联起来。...:通过使用models.ForeignKey来设置,ForeignKey第一个参数是要关联模型名,第二个参数是on_delete。...,此选项会抛出IntegrityError异常 注意:我们在数据库,设置时候需要制定另一张表关联字段,但是在Django里并没有指定。

1.9K20

【Python全栈100天学习笔记】Day41 Django深入理解框架

深入模型 在上一个章节,我们提到了Django是基于MVC架构Web框架,MVC架构追求是“模型“视图”解耦合。所谓“模型”说得更直白一些就是数据(表示),所以通常也被称作“数据模型”。...至此我们还没有看到之前创建模型,需要在应用admin.py文件模型进行注册。 注册模型。...模型定义参考 字段字段名称限制 字段名不能是Python保留字,否则会导致语法错误 字段名不能有多个连续下划线,否则影响ORM查询操作 Django模型字段 字段 说明 AutoField...default 字段默认值 editable 字段在后台模型管理或ModelForm是否显示,默认为True error_messages 设定字段抛出异常时默认消息字典,其中包括null...on_delete:关联对象被删除时对应动作,可取值包括django.db.models定义: CASCADE:级联删除。

2.2K30

【愚公系列】2022年01月 Python教学课程 40-Django框架之模型属性详解

文章目录 一、模型定义 二、模型迁移 总结 ---- 一、模型定义 在models.py 文件定义模型,示例如下: from django.db import models # Create...,blank是表单验证范畴 6) 在设置时,需要通过on_delete选项指明主表删除数据时,对于引用表数据如何处理,在django.db.models包含了可选常量: CASCADE...级联,删除主表数据时连通一起删除外数据 PROTECT保护,通过抛出ProtectedError异常,来阻止删除主表中被应用数据 SET_NULL设置为NULL,仅在该字段null=True...异常 二、模型迁移 将模型类同步到数据库。...1)生成迁移文件 python manage.py makemigrations 2)同步到数据库 python manage.py migrate 总结 django开发模型字段最好在代码里定义在迁移同步到数据库

1.4K20

Django框架学习(四)

order_by 1.7关联查询 1、查询指定对象关联数据(重点掌握) 由一查多:一对象.多名小写__set.all() 由多查一:多对象.属性 2、通过模型进行关联查询 查图书:一.objects.get...|filter(多名__字段__条件=值) 查英雄:多.objects.filter(属性__字段__条件=值) 2.查询集 注意:对于queryset对象,可以继续调用之前任何一个查询函数...定义模型admin管理,继承于admin.ModelAdmin 2)admin.site.register(模型,admin管理) 3)在Admin管理通过对应类属性控制admin界面内容...使用: 1、在配置文件设置配置项MEDIA_ROOT=‘上传文件保存目录’ 2、定义模型时,图片字段类型使用’imageField’ 3、迁移生成表,并在admin.py注册模型,直接登录admin...团队开发注意事项 浅谈密码加密 Django框架英文单词 Django数据库相关操作

1.5K41

用人话讲解django模型字段认识

model(模型) 是学习 django 最重要知识,模型设计好坏直接影响到你后期开发,模型设计只能靠自身经验提高。模型准确且唯一描述了数据,包含您储存数据重要字段行为。...每个模型都是一个 Python ,这些继承 django.db.models.Model 模型每个属性都相当于一个数据库字段。...假如,你要给一张表每列字段设置字符类型,比如有的字段是char类型,有的是int类型,django模型字段类型作用就是上面提到设置数据表数据类型。...常见有 字符串类型 CharField 、文本类型 TextField、整型 IntegerField、浮点型 DecimalField 、日期类型 DateTimeField,表示两张表关系...,时间数值不变 # auto_now=True该条数据创建时间,数据更新时,时间数值也会改变 # ForeignKey一对多,第一个参数位你要关联数据表,比如一个班级有多个学生,就属于一对多,要放到

1K10

Django ORM 多表操作

ORM 多表操作 表模型 图书表 出版社表 作者表 作者详情表 表关系 一对一:一对一推荐建在查询频率高一方 一对多:字段建在多一方 多对多:字段建在查询频率多一方,在Django第三张表不需要创建...,自动创建 ps:字段不需要写表名_id后面的_id,ORM创建时候自动添加了_id,以及以虚拟字段形式存在 创建模型 '''models.py''' from django.db import...6、若有模型存在外,创建数据时,要先创建关联模型数据,不然创建包含模型数据时,关联模型数据会找不到 逆向到表模型 插入数据 ps:插入几条数据方便操作 ORM...(常用) 一对多,设置属性(多表),MySQL 显示字段名是:属性名_id。...,就是正向 反向:从没有表去查另外相关联表,就是反向 口诀: 正向查询按字段 反向查询按表名小写 注意: 正向:属性名 反向:小写名加 _set 反向查询时候查询对象可能有多个情况加_

1.7K20

多年学习django知识经验总结,基础到高手,md共50页. 第(2)期

而是定义模型, 通过模型对象完成数据库表增删改查. ORM框架就是把数据库表行与相应对象建立关联, 互相转换.使得数据库操作面向对象....使用Django进行数据库开发步骤 : 定义模型 模型迁移 操作数据库 1....定义模型 根据书籍表结构设计模型: - 模型:BookInfo - 书籍名称字段:name根据人物表结构设计模型: - 模型:PeopleInfo - 人物姓名字段:name - 人物性别字段...:gender - 约束:book - 要指定所属模型`book = models.ForeignKey(BookInfo)`说明 : - 书籍-人物关系为一对多....一本书中可以有多个英雄. - 不需要定义主键字段, 在生成表时会自动添加, 并且值为自增长.根据数据库表设计 - 在`models.py`定义模型,继承自`models.Model` - from

22120

使用Django实现把两个模型数据聚合在一起

Django想要把模型类聚合得到想要数据可以用F对象。 比如有模型AB,AB之间有关联在一起,A是子表,B是父表(反过来没试过。。...这样操作结果就是可以查询到userid为3且模型A字段bookid等于模型B字段bid集合数据了。 F对象是可以比较两个关联模型字段数据。...models.Model): # 写一个方法,定义在管理页面上能够显示字段字段 # grade为Students模型检表,level为Grades模型检表,那么为Level模型字段...添加是'模型字段' # 如果是需要遵循这样语法:本表字段__(双下划线)检表字段检表字段__最终表要显示字段。...为子表(有所在表) class ScoreInline(admin.TabularInline): # Score 必须是models.py模型名称,大小写必须要匹配.这个模型为子表,以便可以被父表编辑

1.4K20

06.Django基础五之django模型层(二)多表操作

一 创建模型表之间关系     一对一、多对一、多对多 ,用book表publish表自己来想想关系,想想里面的操作,加约束不加约束区别,一对一约束是在一对多约束上加上唯一约束...表建立多对多关系,ManyToManyField可以建在两个模型任意一个,自动创建第三张表,并且注意一点,你查看book表时候,你看不到这个字段,因为这个字段就是创建第三张表意思,不是创建字段意思...注意事项: 表名称myapp_modelName,是根据 模型元数据自动生成,也可以覆写为别的名称   id 字段是自动添加 对于字段Django 会在字段名上添加"_id" 来创建数据库列名...但是我们就不能使用ORM相关方法了,所以我们单纯换成一个其他字段类型,只是单纯存着另外一个关联表主键值是不能使用ORM方法。...F() 实例可以在查询引用字段,来比较同一个 model 实例两个不同字段值。

2.6K20

Django之ForeignKeyManyToManyField多表查询

多表查询是模型重要功能之一, Django提供了一套基于关联字段独特解决方案....Model作为参数, 类型与被参照字段完全相同: blog = models.ForeignKey(Blog) ForeignKey.to_field 关联到关联对象字段名称。...被索引关系模型可以访问所有参照它模型实例,如Entry.blog作为Blog,默认情况下Blog.entry_set是包含所有参照BlogEntry示例查询集,可以使用查询集API取出相应实例...ManyToManyField.through_fields 上文示例Membership 有两个键指向Person (person inviter),这使得关联关系含混不清并让Django 不知道使用哪一个...ManyToManyField 字段模型键名称(本例为group),field2 为指向目标模型名称(本例为person).

1.7K10
领券