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

Django之ORM字段和参数

---- BooleanField    布尔值类型,储存布尔值,True或者False ---- EmailField         字符串类型,Django Admin以及ModelForm中提供验证机制...---- FileField           字符串(储存文件路径),Django Admin以及ModelForm中提供读取文件夹下文件的功能 关系字段 ---- ForeignKey     ...---- on_delete   当删除关联表中的数据时,当前表与其关联的行的行为。...null(前提FK字段需要设置为可空) models.SET_DEFAULT 删除关联数据,与之关联的值设置为默认值(前提FK字段需要设置默认值) models.SET 删除关联数据,  与之关联的值设置为指定值...---- through      在使用ManyToManyField字段时,Django将自动生成一张表来管理多对多的关联关系。

2.3K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Django 系列博客(十三)

    (Field) - 字符串类型,Django Admin以及ModelForm中提供验证 IPV4 机制 GenericIPAddressField(Field) - 字符串类型,Django Admin...) - 字符串类型,格式必须为逗号分割的数字 UUIDField(Field) - 字符串类型,Django Admin以及ModelForm中提供对UUID格式的验证 FilePathField(...unique 如果设置 unique=True,则该字段在此表中必须是惟一的。 db_index 如果 db_index=True, 则代表着为此字段设置索引。 default 为该字段设置默认值。...through 在使用 ManyToManyField 字段时,Django 将自动生成一张表来管理多对多的关联关系。...(to=Book) author = models.ForeignKey(to=Author) 当业务需要在第三张关系表中存储额外的字段时,就要使用第三种方式。

    1.1K30

    django_2

    则django不会再生成默认的主键列 ·属性命名限制 ·遵循标识符规则 ·由于django的查询方式,不允许使用连续的下划线 库 ·定义属性时,需要字段类型,字段类型被定义在...用的多) ·当对象第一次被创建时自动设置当前时间, 用于创建的时间戳,它总是使用当前日期,默认为false ·说明 ·该字段默认对应的表单控件是一个TextInput....,可以实现对字段的约束 ·在字段对象时通过关键字参数指定 ·null ·如果为True,Django 将空值以NULL 存储到数据库中,默认值是 False ·blank...自动设置该字段为当前时间, 用于"最后一次修改"的时间戳,它总是使用当前日期,默认为false ·DateField.auto_now_add ·当对象第一次被创建时自动设置当前时间...·在字段对象时通过关键字参数指定 ·null ·如果为True,Django 将空值以NULL 存储到数据库中,默认值是 False ·blank ·如果为True,则该字段允许为空白

    3.6K30

    Django model 层之Models与Mysql数据库小结

    第一次创建对象时,自动设置field值为当前日期,所以,即便显示为该字段提供了值,也会自动忽视显示设定的值。...DateField.auto_now_add 第一次创建对象时,自动设置field值为当前日期,所以,即便显示为该字段提供了值,也会自动忽视显示设定的值。...blank 如果设置blank=True, 允许Field值为空,字符型字段CharField和TextField是用空字符串来存储空值的。...False,设置为True则表示允许字段为null,空值将被存储为NULL blank参数值说明:该值默认为False,设置为True则表示允许字段为空值 on_delete参数值说明: 2.0版本,该参数值必填...SET_NULL 删除被参照表的某条表记录,设置参照表中,同待删除记录存在外键关联的记录的外键列值为null。当且仅当设置了null=True选项时可用。

    2.2K20

    Django 学习笔记之模型(上)

    这个字段的默认表单部件是 TextInput。它有个参数 max_length。max_length 表示字段允许的最大字符串长度。这将在数据库中和表单验证时生效 6)TextField:大文本字段。...auto_now 表示当对象保存时,该字段会自动设置成当前时间。一般用于记录“修改时间” 。auto_now_add 记录字段首次被创建的时间。 8)DateTimeField:时间和日期。...当 ForeignKey 中有个字段 unique 被设置为 True 时, 就表示一对一关系。 3)ManyToManyField:属于模型间关系中的多对多关系。...3.4 字段选项 有些字段会有些特殊参数,但所有字段类型都又些通用的可选选项。先是常用的可选选项。 1)null :如果该参数设置为 True,Django将会把数据库中的空值保存为 NULL。...2)blank:如果为 True ,该字段允许为空值,不填写默认为 False。这个字段是用于处理表单数据输入验证。 3)primary_key:如果为 True,那么这个字段就是模型的主键。

    1.8K30

    Django小技巧22: 设计一个好的模型

    模型最终被翻译成table.该表使用其复数形式命名的. 在 DJango 中,我们可以通过Company.objects来访问集合....: 如果字段有choices参数, 则每个选项定义为元祖中元祖.并使用全大写的名称作为值属性。...Blank 和 Null 我在另一篇文章有讲过两者的区别 Blank or Null,在这里我会总结一下. null: 数据库相关; 定义数据库字段的值是否接受空值。...blank: 验证相关, 当调用form.is_valid()时, 将会判断值是否为空. 虽然两者的是有区别的, 但一个拥有null=True和blank=False的字段是完全没有问题的。...大多数开发人员都对基于字符串的字段(CharField和TextField)定义null=True, 这其实是没有必要的, 应该避免这样做,因为 Django约定使用空字符串设置空值, 而非Null.

    89920

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

    无该字段时,django自动创建,一个model不能有两个该字段。...如果想接受 null 值,使用 NullBooleanField 。 CharField TextInput 字符串字段,针对长度较小的字符串。大量文本应该使用 TextField 。...注意, field.localize 的值为 False 时,默认的小组件是 TextInput 。...与之关联的值设置为可执行对象的返回值,设置:models.SET(可执行对象) related_name=None # 反向操作时,使用的字段名,用于代替表名_set related_query_name...on_delete=None # 当删除关联表中的数据时,当前表与其关联的行的行为 五、管理员登陆 为了能让大家提前看到django的数据操作,django内置了一款非常到位的系统管理员登陆设计系统

    2.1K00

    Django模型

    BooleanField 布尔字段,值为True或False NullBooleanField 支持Null、True、False三种值 CharField 字符串,参数max_length表示最大字符个数...; 参数auto_now_add表示当对象第一次被创建时自动设置当前时间,用于创建的时间戳,它总是使用当前日期,默认为False; 参数auto_now_add和auto_now是相互排斥的,组合将会发生错误...,确保是有效的图片 下面是字段类型中的参数 字段类型的参数 参数 说明 null 如果为True,表示允许为空,默认值是False blank 如果为True,则该字段允许为空白,默认值是False...db_column 字段的名称,如果未指定,则使用属性的名称 db_index 若值为True, 则在表中会为此字段创建索引,默认值是False default 为字段指定默认值 primary_key...,仅在该字段null=True允许为null时可用 SET_DEFAULT设置为默认值,仅在该字段设置了默认值时可用 SET()设置为特定值或者调用特定方法 DO_NOTHING不做任何操作,如果数据库前置指明级联性

    1.9K20

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

    还有一些适用于所有字段的可选的通用参数,这些参数在 参考(reference) 中有详细定义,这里我们只简单介绍一些最常用的: null 如果为 True, Django 在数据库中会将空值(empty...如果一个字段的 blank=True,Django 的管理后台在做数据验证时,会允许该字段是空值。如果字段的 blank=False,该字段就是必填的。...用法和其他 Field 字段类型一样:在 model 里面做为类属性包含进来。 当某个对象想扩展自另一个对象时,最常用的方式就是在这个对象的主键上添加一对一关系。...当某个对象被要强制转换成字符串,或是要做为字符串显示时,Python 和 Django 就会调用该方法。最典型的,在命令行或管理后台中显示对象,就会用到 unicode() 方法。...当你在(且仅在)抽象基类中使用 related_name 时,如果想绕过这个问题,就要在属性值中包含 ‘%(class)s’ 字符串。这个字符串会替换成字段所在子类的小写名称。

    3.1K30

    第 03 篇:创建 Django 博客的数据库模型

    数据库表设计成这样其实已经可以了,但是稍微分析一下我们就会发现一个问题,这 3 篇文章的分类和标签都是相同的,这会产生很多重复数据,当数据量很大时就浪费了存储空间。...且自 django 2.0 以后,ForeignKey 必须传入一个 on_delete 参数用来指定当关联的 # 数据被删除时,被关联的数据的行为,我们这里假定当某个分类被删除时,该分类下全部文章也同时被删除...提示: 在本教程中我们会教你这些类型的使用方法,但以后你开发自己的项目时,你就需要通过阅读 django 官方文档 关于字段类型的介绍[1] 来了解有哪些数据类型可以使用以及如何使用它们。...且自 django 2.0 以后,ForeignKey 必须传入一个 on_delete 参数用来指定当关联的数据被删除时,被关联的数据的行为,我们这里假定当某个分类被删除时,该分类下全部文章也同时被删除...当要查询文章属于哪一个分类时,只需要查看其对应的分类 ID 是多少,然后根据这个分类 ID 就可以从分类数据库表中找到该分类的数据。

    57340

    Django基础——ORM字段和字段参数

    ForeignKey --> 外键     ForeignKey 字段的参数;     a.to  --> 设置要关联的表;     b.to_field -->设置要关联的表的字段     ...c.related_name -->  反向操作时,使用的字段名,用于代替原反向查询时的'表名_set'。   ...,可解析为192.0.2.1,开启此功能,需要protocol="both" URLField(CharField) - 字符串类型,Django Admin以及ModelForm...2. default 该字段为默认值 3. unique 如果设置为unique=True 则该字段在此表中必须是唯一的 。...当 一张表的某一些字段查询的比较频繁,另外一些字段查询的不是特别频繁   把不怎么常用的字段 单独拿出来做成一张表 然后用过一对一关联起来 2.

    1.6K20

    Django之ForeignKey和ManyToManyField多表查询

    ForeignKey字段接受一个Model类作为参数, 类型与被参照的字段完全相同: blog = models.ForeignKey(Blog) ForeignKey.to_field 关联到的关联对象的字段名称...只有在db_constraint=True时Django model才会在数据库上建立外键约束, 在该值为False时不建立约束. 默认db_constraint=True....ForeignKey.related_query_name以ForeignKey.related_name作为默认值 使用ForeignKey查询 前向查询 若关系模型A包含与模型B关联的关联字段, 模型...修改e.blog并调用save方法存入数据库 >>> e.blog = some_blog >>> e.save() 如果ForeignKey 字段有null=True 设置(即它允许NULL值),可以分配...ManyToManyField 字段的模型的外键名称(本例中为group),field2 为指向目标模型的外键的名称(本例中为person).

    1.8K10

    创建 Django 博客的数据库模型

    数据库表设计成这样其实已经可以了,但是稍微分析一下我们就会发现一个问题,这 3 篇文章的分类和标签都是相同的,这会产生很多重复数据,当数据量很大时就浪费了存储空间。...在本教程中我们会教你这些类型的使用方法,但以后你开发自己的项目时,你就需要通过阅读Django 官方文档 关于字段类型的介绍 来了解有哪些数据类型可以使用以及如何使用它们。...当要查询文章属于哪一个分类时,只需要查看其对应的分类 ID 是多少,然后根据这个分类 ID 就可以从分类数据库表中找到该分类的数据。...希望这个例子能帮助你加深对多对一关系,以及它们在数据库中是如何被关联的理解,更多的例子请看文末给出的 Django 官方参考资料。...希望这个例子能帮助你加深对多对多关系,以及它们在数据库中是如何被关联的理解,更多的例子请看文末给出的 Django 官方参考资料。

    1.3K60
    领券