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

Django模型

django会为表创建自动增长主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长主键列。...默认创建主键列属性为id,也可以使用pk,意为primary key. 字段名称中不能出现双下划线,因为这是Django查询语法之一。...verbose_name,这个参数主要是用来admin管理页面使用,其实是本地化有关。...外键:通过使用models.ForeignKey来设置外键,ForeignKey一个参数是要关联模型类名,第二个参数是on_delete。...,仅在字段null=True允许为null可用 SET_DEFAULT设置为默认值,仅在字段设置了默认值可用 SET()设置为特定值或者调用特定方法 DO_NOTHING不做任何操作,如果数据库前置指明级联性

1.9K20

django 字段类型_access数据库类型是

一个额外可选参数:max_length,字段最大长度,以字符为单位。最大长度django验证中使用强制执行MaxLengthValidator。...参数: auto_now:每次修改保存修改为当前日期时间,对于“最后修改” 时间戳有用。使用Model.save()保存时有效使用QuerySet.update() 不会自动更新。...(15) ImageField 继承FileField所有的方法,但还验证上传对象为有效图像。除了 可用于特殊属性FileField,一个ImageField也具有heightwidth 属性。...:与模型相关on_delete选项,如果创建地柜关系(一个与自身具有多对一关系对象)则使用model.ForeignKey(‘self’,on_delete=models.CASCADE)。...如果需要在尚未定义模型上创建关系,则可以使用模型名称,而不是模型对象本身。

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

Django教程 —— 模型类详解

引言 之前 Django模型设计 中简单介绍了如何定义模型类,在这篇中将做一个汇总。让大家更加了解Django模型类。...: 当前选择数据库支持字段类型 渲染管理表单使用默认html控件 管理站点最低限度验证 Django 会为表创建自动增长主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后...定义属性需要指定字段类型,通过字段类型参数指定选项,语法如下: 属性 = models.字段类型(选项) 模型类字段类型 使用时需要引入django.db.models 包 from django.db...参数auto_now表示每次保存对象,自动设置字段为当前时间,用于"最后一次修改"时间戳,它总是使用当前日期,默认为false。...choices 选项 Django 3 现在提供了一个Choices类及其两个子类IntegerChoices TextChoices 。

1.7K20

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

如果一个字段 blank=True,Django 管理后台在做数据验证,会允许字段是空值。如果字段 blank=False,字段就是必填。...如果设置了 choices ,Django 管理后台就会显示选择框,而不是标准文本框,而且这个选择选项就是 choices 中元组。...多对一关系 Django 使用 ForeignKey 定义多对一关系。 使用其他 字段(Field) 类型一样: model 当中把它做为一个类属性包含进来。...Django 管理后台任何需要得到对象网址地方使用方法。 如果对象有一个唯一网址,那么你就应该定义这个方法。...小心使用 related_name 如果你 ForeignKey 或 ManyToManyField 字段上使用 related_name 属性,你必须总是为字段指定一个唯一反向名称。

3.1K30

00x: Django models.Model详解

例如,CharField(还有它子类)需要一个max_length参数来声明数据库用于存储字段VARVHAR个数。 同样,还有其他一些选项可用来设置字段,它们都是可选。...下面介绍几个比较常用设置选项: null: 若为True,Django会把空数据使用NULL存储在数据库中。默认是False。 blank: 若为True,字段允许为空。...choices: 一个可迭代元祖,用来作为字段内容选择。若这个给定,默认表单插件将会变成一个单选框而不是简单文本字段,并且单选框中选项数目由给定choices来限定。...Many-to-one 使用django.db.models.ForeignKey来定义Many-to-one这种关系。这个类使用其他字段定义一样,也是作为一个属性存在。...元数据中将基类参数abstract=True,这样,model就不会被用来创建任何数据表。当它被其他model作为基类,它字段将会作为继承它基类字段。

1.6K20

Django大型项目中django性能模型字段primary_key

默认表单部分将是包含这些选项选择框,而不是标准文本字段。 每个元组中一个元素是要在模型上设置实际值,第二个元素是人类可读名称。...,然后引用它,但在模型类中定义选择每个选择名称可以使用类中保留所有这些信息,并帮助引用这些选择(例如,Student.SOPHOMORE将在导入学生模型任何位置工作)。...还可以将可用选项收集到可用于组织目的命名组中: from django.db import models class Student(models.Model): FRESHMAN = '...第二个元素是二进制元组迭代。每个二进制元组包含一个一个可读选项名称。分组选项可以与单个列表中未分组选项组合(例如本例中“未知”选项)。...注意,选择可以是任何序列对象——不一定是列表或元组。这允许动态构建选择。然而,如果发现自己将芯片魔法更改为动态,则最好使用带有ForeignKey适当数据库表。芯片用于静态数据。

2K20

Django 定义模型2.1

定义模型 模型中定义属性,会生成表中字段 django根据属性类型确定以下信息: 当前选择数据库支持字段类型 渲染管理表单使用默认html控件 管理站点最低限度验证 django...会为表增加自动增长主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后,则django不会再生成默认主键列 属性命名限制 不能是python保留关键字 由于django查询方式...,不允许使用连续下划线 定义属性 定义属性,需要字段类型 字段类型被定义django.db.models.fields目录下,为了方便使用,被导入到django.db.models中 使用方式...参数DateField.auto_now_add:当对象第一次被创建自动设置当前时间,用于创建时间戳,它总是使用当前日期,默认为false 字段默认对应表单控件是一个TextInput....,确保它是个有效image 字段选项 通过字段选项,可以实现对字段约束 字段对象通过关键字参数指定 null:如果为True,Django 将空值以NULL 存储到数据库中,默认值是 False

1.2K30

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

2) 关于主键 django会为表创建自动增长主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长主键列。...继承于FileField,对上传内容进行校验,确保是有效图片 5) 选项 选项 说明 null 如果为True,表示允许为空,默认值是False blank 如果为True,则字段允许为空白,...若为True,则字段会成为模型主键字段,默认值是False,一般作为AutoField选项使用 unique 如果为True, 这个字段表中必须有唯一值,默认值是False null是数据库范畴概念...,blank是表单验证范畴 6) 外键 设置外键,需要通过on_delete选项指明主表删除数据,对于外键引用表数据如何处理,django.db.models中包含了可选常量: CASCADE...允许为null可用 SET_DEFAULT设置为默认值,仅在字段设置了默认值可用 SET()设置为特定值或者调用特定方法 DO_NOTHING不做任何操作,如果数据库前置指明级联性,此选项会抛出IntegrityError

1.4K20

Django 学习笔记之模型(上)

它带有两个可选参数:auto_now auto_now_add。auto_now 表示当对象保存字段会自动设置成当前时间。一般用于记录“修改时间” 。... DateField 具有相同选项。 10)URLField:一个 CharField 类型URL,默认长度是200;默认表单部件是一个 TextInput。...在数据库中, Django 使用 ForeignKey 字段名称+ "_id" 做为数据库中列名称。在上面的例子中, 书籍 model 对应数据表中会有一个 publisher_id 列。...3.4 字段选项 有些字段会有些特殊参数,但所有字段类型都又些通用可选选项。先是常用可选选项。 1)null :如果参数设置为 True,Django将会把数据库中空值保存为 NULL。...4)unique:如果值设置为 True, 这个数据字段整张表中必须是唯一。 5)default:设置字段默认值。 6)由二项元组构成一个可迭代对象(列表或元组),用来给字段提供选择项。

1.8K30

基于Django OneToOneFieldForeignKey区别详解

通过一个限制对字段信息某一可能选项进行约束,可以通过字典,函数或者查询值来设置 related_name 可以指定关联本类中名称,通过这一参数可以用两个字段名引用同一个类,通过这个名称父类可以取得子类值...ManyToManyField类有两个经常使用参数:throughthrough_fields,通过这两个参数可以十分方便地建立中间项关联,如示例代码所示: from django.db import...ManyToManyField还有以下参数可以选择: 参数 功能 related_name 同ForeignKey,可以指定关联本类中名称 related_query_name 同ForeignKey...中参数,又包含一个额外参数parent_link,若定义了一个类,其继承了一个非抽象类,而设置parent_link这个函数为True,则会将这个类视作继承父类,而不是一个OneToOneField...以上这篇基于Django OneToOneFieldForeignKey区别详解就是小编分享给大家全部内容了,希望能给大家一个参考。

2.3K20

Django中ORM介绍字段及其参数

through: 使用ManyToManyField字段Django将自动生成一张表来管理多对多关联关系。...Model 元数据就是 "不是一个字段任何数据" -- 比如排序选项, admin 选项等等. 下面是所有可能用到 Meta 选项. 没有一个选项是必需....如果一个对象有 admin 设置, 则每个对象添加,删除改变权限会人(依据选项)自动创建.下面这个例子指定了一个附加权限: can_deliver_pizzas: permissions = ((...verbose_name verbose_name意思很简单,就是给你模型类起一个更可读名字: verbose_name = "pizza" 若未提供选项, Django 则会用一个类名字 munged...verbose_name_plural 这个选项是指定,模型复数形式是什么,比如: verbose_name_plural = "stories" 若未提供选项, Django使用 verbose_name

2.8K80

django_mysql_配置

自己数据中创建一个djangi_demo create database django_demo default charset=utf8; ---- 定义模型类 1....2) django会为表创建自动增长主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长主键列。...默认创建主键列属性为id,可以使用pk代替,pk全拼为primary key。 3) 字段类型 ? 4) 选项 ?...null是数据库范畴概念,blank是表单验证范畴 5) 外键 一般我用CASCADE 设置外键,需要通过on_delete选项指明主表删除数据,对于外键引用表数据如何处理,django.db.models...设置为NULL,仅在字段null=True允许为null可用 SET_DEFAULT 设置为默认值,仅在字段设置了默认值可用 SET() 设置为特定值或者调用特定方法,如 from

1.6K10

Django 学习笔记之模型高级用法(上)

通常不需要直接使用它,如果表中没有设置主键Django 将会自动添加一个自增主键。BigAutoField 其实也是一个 BigIntegerField,但它支持 ID 自动增长。...2.1 ForeignKey 1) on_delete Django 2.0 中,设置外键需要添加一个 on_delete选项。外键本身涉及到两个表数据,况且外键在数据库中是有约束行为。...db_tablespace:如果字段已经设置了索引,db_tablespace 用于指定字段索引数据库表空间名字。另外还需要看使用数据库支不支持表空间。如果不支持,参数设置没有效果。...对于每一个字段类型,除了 ForeignKey、ManyToManyField OneToOneField 这三个特殊关系类型,其第一可选位置参数都是 verbose_name。...如果用户没有定义选项Django会自动将自动创建,内容是字段属性名中下划线转换为空格结果。

2K30

Django ORM (一) 创建数据库

#CharField 要求必须有一个参数 maxlength, 用于从数据库层Django校验层限制字段所允许最大字符数. (2) IntegerField #用于保存一个整数....#注意:一个 model 中使用 FileField 或 ImageField 需要以下步骤: #(1)在你 settings 文件中, 定义一个完整路径给 MEDIA_ROOT...upload_to 选项,以告诉 Django # 使用 MEDIA_ROOT 哪个子目录保存上传文件.你数据库中要保存只是文件路径(相对于 MEDIA_ROOT)...推荐使用这个字段而不要用 BooleanField 加 null=True 选项 # admin 用一个选择框 (三个可选择值: "Unknown", "Yes" ...非有效产生 django.core.validators.ValidationError 错误 (9) db_column,db_index :如果为真将为此字段创建索引 (10)choices:一个用来选择

1.4K10

35.Django2.0文档

第一次执行循环变量会被置为序列个数减1 forloop.first 是一个布尔值,如果迭代是第一次执行,那么它被置为```` {% for item in lists %}...如果只想在上级代码块基础上添加内容,而不是全部重载,变量就显得非常有用了。 不允许一个模板中定义多个同名 {% block %} 。...也就是说,这些修改实质上是构成模块一部分,并且正好被管理工具使用,而不是专门针对管理工具。 除了这些,Django还提供了大量选项让你针对特别的模块自定义管理工具。...如果你想选择多项,你必须还要按下Ctrl键。 虽然管理工具因此添加了注释(help_text),但是当它有几百个选项,它依然显得笨拙。 更好办法是使用 filter_horizontal。...例如,你可以给一个用户添加修改publishers权限,而不给他删除权限。 请注意,这些权限是定义模块级别上,而不是对象级别上

11.3K100

Django 2.1.7 模型类 - 字段类型

官方文档中,关于字段类型描述非常多,如下: 模型字段定义属性 django会为表创建自动增长主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长主键列...定义属性需要指定字段类型,通过字段类型参数指定选项,语法如下: 属性=models.字段类型(选项) 字段类型 使用时需要引入django.db.models包,字段类型如下: AutoField...参数auto_now表示每次保存对象,自动设置字段为当前时间,用于"最后一次修改"时间戳,它总是使用当前日期,默认为false。...ImageField:继承于FileField,对上传内容进行校验,确保是有效图片。 选项 通过选项实现对字段约束,选项如下: null:如果为True,表示允许为空,默认值是False。...primary_key:若为True,则字段会成为模型主键字段,默认值是False,一般作为AutoField选项使用

1.2K10

django 外键引用自身on_delete参数

模型使用外键引用自己本身。...那么将会获取SET函数中值来作为这个外键值。SET函数可以接收一个可以调用对象(比如函数或者方法),如果是可以调用对象,那么会将这个对象调用后结果作为值返回回去。...注意:以上配置都是django级别的,在数据库中级别依旧是RESTRICT 数据库层面的约束有: RESTRICT:默认选项,如果想要删除父表记录,而在子表中有关联父表记录,则不允许删除父表中记录...、update时候,子表会将关联记录外键字段所在列设为null,所以注意在设计子表外键不能设为not null; 为什么django中可以是用不同约束去操作数据库呢。...进行删除A表数据,发现被外键约束着,使数据不能被删除,则django会先去删除约束B表数据,然后再来删除A表数据。

1.3K20

Django 2.1.7 模型类 - 字段类型

官方文档中,关于字段类型描述非常多,如下: 模型字段定义属性 django会为表创建自动增长主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长主键列...定义属性需要指定字段类型,通过字段类型参数指定选项,语法如下: 属性=models.字段类型(选项) 字段类型 使用时需要引入django.db.models包,字段类型如下: AutoField:...参数auto_now表示每次保存对象,自动设置字段为当前时间,用于"最后一次修改"时间戳,它总是使用当前日期,默认为false。...ImageField:继承于FileField,对上传内容进行校验,确保是有效图片。 选项 通过选项实现对字段约束,选项如下: null:如果为True,表示允许为空,默认值是False。...primary_key:若为True,则字段会成为模型主键字段,默认值是False,一般作为AutoField选项使用

1.7K30
领券