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

Django 系列博客(十三)

Django 系列博客(十三) 前言 本篇博客介绍 Django 的常用字段和参数。 ORM 字段 AutoField int 自增列,必须填入参数 primary_key=True。...当 model 如果没有自增列,则会自动创建一个列名为 id 的列。 IntegerField 一个整数类型,范围在-2147483648 to 2147483647。...primary_key = True 注:当model如果没有自增列,则自动会创建一个列名为id的列 from django.db import models class UserInfo(models.Model...一对一的关联关系多用在当一张的不同字段查询频次差距过大的情况下,将本可以存储一张的字段拆开放置两张,然后将两张建立一对一的关联关系。...through 使用 ManyToManyField 字段时,Django 将自动生成一张来管理多对多的关联关系。

1.1K30

DjangoAutoField字段使用

Django是一个机智的框架】 默认情况下Djang会为ORM定义的每一张加上一个自增ID列,并且用这个列来做主键;出于一个MySQL-DBA的工作经历我觉得 Djanog还真是机智;这样么说主要是因为我遇到过许多主从延时的问题...【AutoFieldDjango默认的行为就像这样 class TestModel(models.Model): id = models.AutoField(primary_key=True)...补充知识:Djangomodels下常用Field以及字段参数 一、常见的FieldType数据库字段类型 1、AutoField:自增Field域,自动增加的一个数据库字段类型,例如id字段就可以使用该数据类型...False,则是限制了之间没有关联,达到了软连接的效果 五、元信息 ORM对应的类里面包含另一个Meta类,而Meta类封装了一些数据库的信息,主要字段如下: 1、db_table:ORM在数据库名默认为...DjangoAutoField字段使用就是小编分享给大家的全部内容了,希望能给大家一个参考。

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

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

中有很多字段,如下: 字段类 默认小组件 说明 AutoField N/A 根据 ID 自动递增的 IntegerField,必填参数primary_key=True,则成为数据库的主键,无该字段时,django...ImageField ClearableFileInput 所有属性和方法都继承自 FileField ,此外验证上传的对象是不是有效的图像。增加了 height 和 width 两个属性。...help_text: 字段的提示信息 choices:显示选择框的内容,用不变动的数据放在内存以避免跨操作 verbose_name: 显示的字段名称 error_messages:自定义错误信息...db_constraint=True # 是否在数据库创建外键约束 parent_link=False # Admin是否显示关联数据 2.多对多 多对多的...如下: from django.db import models ​ # Create your models here. class book(models.Model): id=models.AutoField

2.1K00

Django学习笔记之ORM字段和字段参数

ORM的优势 ORM解决的主要问题是对象和关系的映射。它通常把一个类和一个一一对应,类的每个实例对应的一条记录,类的每个属性对应的每个字段。 ...但是整个软件开发过程需要特殊处理的情况应该都是很少的,否则所谓的工具也就失去了它存在的意义。 二、Django的ORM 1. Django项目使用MySQL数据库 1....Model Djangomodel是你数据的单一、明确的信息来源。它包含了你存储的数据的重要字段和行为。...- bigint自增列,必须填入参数 primary_key=True 注:当model如果没有自增列,则自动会创建一个列名为id的列 from django.db...Django Admin错误信息会优先根据Admiin内部的ModelForm错误信息提示,如果都成功,才来检查Model的字段并显示指定错误信息 b.

5.1K10

django模型动态修改参数,增加 filter 字段的方式

当model如果没有自增列,则自动会创建一个列名为id的列。 IntegerField:一个整数类型,范围在 -2147483648 to 2147483647。...=True 注:当model如果没有自增列,则自动会创建一个列名为id的列 from django.db import models class UserInfo(models.Model): # 自动创建一个列名为...其它属性详情请查看:官方文档 关系字段 ForeignKey 外键类型ORM中用来表示外键关联关系,一般把ForeignKey字段设置 ‘一对多’’多’的一方。...models.Model): name = models.CharField(max_length=16) friends = models.ManyToManyField("self") 此时,person对象没有...through:使用ManyToManyField字段时,Django将自动生成一张来管理多对多的关联关系。

3.8K31

Python进阶29-ORM介绍

当我们需要对数据库进行操作时,势必需要通过连接数据、调用sql语句、执行sql语句等操作,ORM将数据库,字段,行与我们面向对象编程的类及其方法,属性等一一对应,即将该部分操作封装起来,程序猿不需懂得... get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。...- 一对一双下划线查询 - 正向:按字段,跨可以filter,也可以values - 反向:按名小写,跨可以filter,...当model如果没有自增列,则自动会创建一个列名为id的列。 IntegerField 一个整数类型,范围在 -2147483648 to 2147483647。...一对一的关联关系多用在当一张的不同字段查询频次差距过大的情况下,将本可以存储一张的字段拆开放置两张,然后将两张建立一对一的关联关系。

4.4K10

DjangoORM介绍和字段及其参数

ORM的优势   ORM解决的主要问题是对象和关系的映射。 类和数据库对应; 类的每个实例对应的一条记录; 类的每个属性对应每个字段。...() Model   Djangomodel是你数据的单一、明确的信息来源。...当model如果没有自增列,则自动会创建一个列名为id的列。 IntegerField:一个整数类型,范围在 -2147483648 to 2147483647。...bigint自增列,必须填入参数 primary_key=True 注:当model如果没有自增列,则自动会创建一个列名为id的列 from django.db import...permissions permissions主要是为了Django Admin管理模块下使用的,如果你设置了这个属性可以让指定的方法权限描述更清晰可读。 要创建一个对象所需要的额外的权限.

2.8K80

Django学习笔记之利用Form和Ajax实现注册功能

attr: 一个参数是获取属性的值,两个参数是设置属性值 removeAttr(属性名): 删除属性值 prop: 适应于属性的返回值是布尔类型的(单选,反选,取消的例子) removePorp...: 删除属性的值 5、循环的两种方式: $.each(数组/对象,function(i,v){}) $("div").each(function(i,v){}) 6、css的三种隐藏: 1、display...而display:隐藏了不占用空间 我们注册的时候不用display:none,不然选择文件的那个功能就没有了,我们可以吧透明度 7、提交二进制数据用FormData var formData...#} } }) 11、form自动生成的错误信息 当你定义了全局钩子的时候,而且正好出现你的那个全局钩子函数的错(比如两次密码输入不一致),这样你打印错误信息的时候...会有一个__all__对象,这个就是你设置的全局钩子生成的。

87750

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

开发效率高   缺点:   执行效率有差距  ORM的对应关系:   类 ---> 数据   对象 ---> 数据行   属性 ---> 字段...告诉Django用pymysql代替默认的MySQLDB 连接MySQL数据库   项目/__init__.py文件,写下面两句:   import pymysql   # 告诉...app/models.py里面定义类 # 出版社 class Publisher(models.Model): id = models.AutoField(primary_key...(AutoField) - bigint自增列,必须填入参数 primary_key=True 注:当model如果没有自增列,则自动会创建一个列名为id的列...一对多(出版社和书);1对多  ,外键通常设置多的那一边; publisher = models.ForeignKey(to="Publisher") 数据库实际 生成的是一个 publisher_id

1.6K20

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

可通过db_table指明数据库名。 2) 关于主键 django会为创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长的主键列。...默认创建的主键列属性id,可以使用pk代替,pk全拼为primary key。 3) 属性命名限制 不能是python的保留关键字。 不允许使用连续的下划线,这是由django的查询方式决定的。...不指定时Django会自动创建属性名为id的自动增长属性 BooleanField 布尔字段,值为True或False NullBooleanField 支持Null、True、False三种值 CharField...AutoField的选项使用 unique 如果为True, 这个字段必须有唯一值,默认值是False null是数据库范畴的概念,blank是表单验证范畴的 6) 外键 设置外键时,需要通过...on_delete选项指明主表删除数据时,对于外键引用数据如何处理,django.db.models包含了可选常量: CASCADE级联,删除主表数据时连通一起删除外键数据 PROTECT保护

1.4K20

Django 系列博客(四)

举例来说就是,我定义一个对象,那就对应着一张,这个对象的实例,就对应着的一条记录。...(max_length=32) pwd = models.CharField(max_length=32) 通过对象关系映射,这个类就会对应数据库的 UserInfo ,里面有三个字段,id...python3 manage.py makemigrations 这条命令并没有将 models 同步到数据库,只是 migrations 做了一个记录,并且会在 migrations 文件夹中生成一个...(max_length=32) pwd = models.CharField(max_length=32) 把同步到数据库 #数据库没有同步到数据库,只是migrations内做了一个记录...,本文的数据库对象就是UserInfo.object,打印出来可知该对象是app.UserInfo.objects类 通过这个这个类(对应数据库)可以操作数据库 增 # 该有两个三个字段,其中

59710

Django 2.1.7 模型类 - 字段类型

官方文档,关于字段类型的描述非常多,如下: 模型字段的定义属性 django会为创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长的主键列...默认创建的主键列属性id,可以使用pk代替,pk全拼为primary key。 注意:pk是主键的别名,若主键名为id2,那么pk是id2的别名。...定义属性时需要指定字段类型,通过字段类型的参数指定选项,语法如下: 属性=models.字段类型(选项) 字段类型 使用时需要引入django.db.models包,字段类型如下: AutoField...:自动增长的IntegerField,通常不用指定,不指定时Django会自动创建属性名为id的自动增长属性。...unique:如果为True, 这个字段必须有唯一值,默认值是False。

1.2K10

Django 模型继承 BaseModel

CommonInfo 模型不能用作普通的 Django 模型,因为它是一个抽象基类。它不会生成数据,也没有管理器,也不能被实例化和保存。...它提供了一种 Python 级抽出公共信息的方法,但仍会在子类模型创建数据。 Meta 继承 当一个抽象基类被建立,Django 将所有你基类申明的 Meta 内部类以属性的形式提供。...如果你继承父类模型的子类添加了这些关联,你 必须 指定 related_name 属性。假如你忘了,Django 会抛出一个合法性错误。...注意,继承自多个包含 id 主键的字段会抛出错误。...正确的使用多继承,你可以基类显示使用 AutoField: class Article(models.Model): article_id = models.AutoField(primary_key

2K10

DjangoORM操作

,其主要目的是为了封装底层SQL语句; 1、字符串类(以下都是在数据库本质都是字符串数据类型,此类字段只是Django自带的admin中生效) name=models.CharField(max_length...primary_key=True 注:当model如果没有自增列,则自动会创建一个列名为id的列 from django.db import models...正向查找:ForeignKey UserInfo,如果从UserInfo开始向其他的进行查询,这个就是正向操作,反之如果从UserType去查询其他的这个就是反向操作。...方式反向跨:小写名__关联表字段 通过对象的形式反向跨:小写名_set().all() 1对多 如果A的1条记录对应BN条记录成立,两之间就是1对多关系;1对多关系...A就是主表,B为子表,ForeignKey字段就建在子表; 如果B的1条记录也对应AN条记录,两之间就是双向1对多关系,也称为多对多关系; orm设置如果 A设置了外键字段user=

4.7K10
领券