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

DjangoAutoField字段使用

补充知识:Django中models下常用Field以及字段参数 一、常见FieldType数据库字段类型 1、AutoField:自增Field域,自动增加一个数据库字段类型,例如id字段就可以使用该数据类型...<字符串 )/height_field=None(上传图片高度保存数据库字段名<字符串 ) 15、IntegerField:存储整型数据 16、GenericIPAddressField:存储IP地址信息数据...4、default:为该字段设置默认值 四、关系字段 1、to:设置要关联 2、to_field:设置要关联字段 3、related_name:反向操作时,使用字段名,用于代替原反向查询时...,默认为True,db_constraint一般使用在建立数据连接关系当中(例如创建外键),如果使用False,则是限制了之间没有关联,达到了软连接效果 五、元信息 ORM对应类里面包含另一个Meta...类,而Meta类封装了一些数据库信息,主要字段如下: 1、db_table:ORM在数据库中名默认为app_类名,可以通过db_table可以重写名 2、index_together:联合索引,

6.4K20

Django用户创建(四)

首先进行基础分析工作 判断用户名是否为空,是否注册 判断邮箱是否为空,是否注册 判断密码是否为空,格式是否正确 一般注册操作还会有确认密码输入,所以我们会在前端中增加一列。...正常情况我们如果操作数据库需要: 创建数据库,设计结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 Django采用ORM形式完成数据库操作...映射到数据库中是date类型, 在使用时候,可以设置DateField.auto_now每次保存对象时,自动设置该字段为当前时间。...以后修改,不会修改这个值 我们复制其中username和email再稍加整改 突然先到我们好像缺少了创建时间,更新时间。而且这两个内容在全部中都可以被应用到。所以我们封装一个基类好了。...数据库展示 以上就完成了用户创建,不过里面的一些约束条件什么感觉还是有点问题,但是应该不影响正常使用(无法应对破坏性测试)。

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

Django之路由层

,建议建在查询频率高一方 一对多外键字段创建时候同步到数据中表字段会自动加_id后缀,如果我们手动加了_id orm也会在给我们加一次,所以我们这里不要加_id 多对多关系,django orm会自动帮我们创建书籍和作者第三张关系...,在Django中所有的app都建立自己独立urls.py,这时总路由不在做匹配活,而仅仅是做任务分发(请求来了之后总路由不做对应关系,只负责询问你要访问哪个app功能然后将请求转发给对应app...3.9Django1.x和2.x版本路由层区别 1.Django2.x中默认url通过path接收,path第一个输入值不是正则表达式,里面写是什么就按什么匹配。...不同之处是,传给path第一个参数不再是正则表达式,而是一个完全匹配路径,相同之处是第一个参数中匹配字符均无需加前导斜杠 #2、使用尖括号()从url中捕获值,相当于有名分组 #3、中可以包含一个转化器类型...是两个数字,返回结果也必须是两个数字 在urls.py中,使用 register_converter 将其注册到URL配置中: from django.urls import path,register_converter

1.3K21

三、模型(一)

当我们程序涉及到数据库相关操作时,我们一般都会这么做: 创建数据库,设计结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 import...每个属性也是这个一个字段。...要完成该项工作,第一步是在 Django 项目中 激活这些模型。 将上面的模型所在app添加到配置文件安装应用列表中即可完成此步骤。...如果你设置了这个选项,那么除非你检索时特意额外地使用了 order_by(),否则,当你使用 Django 数据库 API 去检索时,Publisher对象相关返回值默认地都会按 name 字段排序...为了预防误删除掉某一个所有数据,Django要求在删除内所有数据时显示使用all()。

4.5K90

django 1.8 官方文档翻译: 1-2-1 编写你第一个Django应用,第1部分

同时,注意文件底部 INSTALLED_APPS 设置。它保存了当前 Django 实例激活所有 Django 应用。...在这简单投票应用中,我们将创建两个模型: Poll 和 Choice。Poll 有问题和发布日期两个字段。Choice 有两个字段: 选项 ( choice ) 文本内容和投票数。...python manage.py sqlclear polls – 根据存在于你数据库中 (如果有的话) ,为应用输出必要 DROP TABLE 。...请注意这可能会显示 "1L" 而不是 "1",取决于 # 你正在使用数据库。 这没什么大不了,它只是意味着你数据库后端 # 喜欢返回整型数作为 Python 整型对象而已。...欲了解更多有关如何使用双下划线来通过 API 执行字段查询,请查看 字段查询 。 如需完整数据库 API 信息,请查看我们 数据库 API 参考 。

96420

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

操作数据行 --> 数据增删改查   不能创建数据库,自己动手创建数据库 使用DjangoORM详细步骤: 1....在Django项目中设置连接数据库相关配置(告诉Django连接哪一个数据库)   # 数据库相关配置   DATABASES = {   'default': {   ...c.related_name -->  反向操作时,使用字段名,用于代替原反向查询时'名_set'。   ...books = models.ManyToManyField(to="Book") 在数据库中: 是通过第三张建立关系(默认第三张名 为字段_另一个多对多字段) # 书 class...当 一张某一些字段查询比较频繁,另外一些字段查询不是特别频繁   把不怎么常用字段 单独拿出来做成一张 然后用过一对一关联起来 2.

1.6K20

05.Django基础五之django模型层(一)单操作

这些参数在文档中有详细定义,这里我们只简单介绍一些最常用: 更多字段: ''' CharField 字符串字段, 用于较短字符串....一个正则表达式, 作为一个字符串, FilePathField 将使用它过滤文件名. 注意这个正则表达式只会应用到 base filename 而不是 路径全名....和is_active两个字段,但建好后也会有一个默认自增id字段 - 创建时间,用来标识这条记录创建时间,具有auto_now_add属性,创建记录时会自动填充当前时间到此字段 - 修改时间,...那么django如何生成数据库呢, django是根据 migration下面的脚本文件来生成数据 每个migration文件夹下面有多个脚本,那么django如何知道该执行那个文件呢...,django有一张django-migrations中记录了已经执行脚本,那么中没有的就是还没执行脚本,则 执行migrate时候就只执行中没有记录那些脚本。

2.9K10

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

利用这些,Django 提供了一个自动生成访问数据库 API,django 可以使用 ORM 操作数据库,就算你不熟悉 SQL 语法,也能很熟练操作数据库,而且就算你后期换了数据库,项目中关于数据库操作代码不用更改...假如,你要给一张每列字段设置字符类型,比如有的字段是char类型,有的是int类型,django模型字段类型作用就是上面提到设置数据数据类型。...常见字符串类型 CharField 、文本类型 TextField、整型 IntegerField、浮点型 DecimalField 、日期类型 DateTimeField,表示两张外键关系...# CharField为字符串类型,必须有max_length设置最大长度,verbose_name在django后 台显示该英文字段中文意思 # IntegerField整型 # DecimalField..."多"那张,related_name是对外键取别名,常用在djangoorm反向查询中使用 项目源地址:https://github.com/zxycode-2020/django_tutrital2

1K10

Mysql基础

SQL功能强大、简单易学、使用方便,已经成为了数据库操作基础,并且现在几乎所有的数据库均支持sql。 在数据库系统中,SQL语句不区分大小写(建议用大写) 。但字符串常量区分大小写。...字符串类型 字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。 ?...BINARY和VARBINARY类类似于CHAR和VARCHAR,不同是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串不是字符字符串。...:在内连接基础上增加左边有右边没有的和右边有左边没有的结果 -- mysql不支持全外连接 full JOIN -- mysql可以使用此种方式间接实现全外连接 select...带EXISTS关键字子查询 -- EXISTS关字键字表示存在。在使用EXISTS关键字时,内层查询语句不返回查询记录。 -- 而是返回一个真假值。

4.2K20

Django中ORM介绍和字段及其参数

related_query_name:反向查询操作时,使用连接前缀,用于替换名。意思是用于替换本类名(同ForeignKey字段)。...through: 在使用ManyToManyField字段时,Django将自动生成一张来管理多对多关联关系。...但我们也可以手动创建第三张来管理多对多关系,此时就需要通过through来指定第三张名。 through_fields:设置关联字段。...Django有一套默认按照一定规则生成数据模型对应数据库名,如果你想使用自定义名,就通过这个属性指定,比如: table_name='my_owner_table' 若不提供该参数, Django..., human_readable_permission_name). unique_together unique_together这个选项用于:当你需要通过两个字段保持唯一性时使用

2.8K80

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

连接符(减号) CommaSeparatedIntegerField(CharField) - 字符串类型,格式必须为逗号分割数字 UUIDField(Field) - 字符串类型,Django Admin...字段参数: - to:设置要关联 - to_field:设置要关联字段 - related_name:反向操作时,使用字段名,用于代替原反向查询时'名_set'。...(反向查询)时,我们会这么写: models.Classes.objects.first().students.all() - related_query_name:反向查询操作时,使用连接前缀,用于替换名...through:在使用ManyToManyField字段时,Django将自动生成一张来管理多对多关联关系。...但我们也可以手动创建第三张来管理多对多关系,此时就需要通过through来指定第三张名。 through_fields:设置关联字段

3.8K31

Django之Model操作数据库详解

Django ORM框架功能: 建立模型类和之间对应关系,允许我们通过面向对象方式来操作数据库。 根据设计模型类生成数据库中表格。 通过方便配置就可以进行数据库切换。...、连接符(减号) CommaSeparatedIntegerField(CharField) - 字符串类型,格式必须为逗号分割数字 UUIDField(Field) - 字符串类型,Django Admin...,用于代替 【名_set】 如: obj.名_set.all() related_query_name=None, # 反向操作时,使用连接前缀,用于替换【名】 如...=None, # 反向操作时,使用连接前缀,用于替换【名】 如: models.UserGroup.objects.filter(名__字段名=1).values('名__字段名'...,运行后得到不是一系列model实例化对象,而是一个可迭代字典序列 exclude(**kwargs) 包含了与所给筛选条件不匹配对象 order by(*field)

7K10

Django中ORM操作

前言 Django框架功能齐全自带数据库操作功能,本文主要介绍DjangoORM框架 到目前为止,当我们程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计结构和字段 使用 MySQLdb...来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 Django orm优势: Djangoorm操作本质上会根据对接数据库引擎,翻译成对应sql语句;所有使用Django...中settings.py文件中设置 连接 MySQL数据库(Django默认使用是sqllite数据库) DATABASES = { 'default': { 'ENGINE':...、反向连操作认定无非是Foreign_Key字段在哪张表决定, Foreign_Key字段在哪张就可以哪张使用Foreign_Key字段,反之没有Foreign_Key字段使用与其关联...对象,userinfo对象,] 小写名 得到有外键关系列 #因为使用values取值取得是字典不是对象,所以需要 小写名(外键)__ v = UserGroup.objects.values

4.7K10

django入门:数据模型

Model 常用字段类型 models.AutoField 自增列 如果没有的话,默认会生成一个名称为 id 列,如果要显示自定义一个自增列,必须将给列设置为主键 primary_key=True...models.BigIntegerField  长整型 models.IPAddressField  字符串类型(ip4正则表达式) models.GenericIPAddressField  字符串类型...max_length=(int) 最大长度,多和字符串类型配合使用 verbose_name='xxxx' Admin 中字段显示名称 name|db_column...查找数据库内数据可以通过如下操作进行 # 查找某个有的数据,返回 from blog.models import Category c_list = Category.objects.all...(Category) 在 Category 中需要统计某个 category 下 post 数量, # 但是 Category 中没有 post_count 字段,那么可以通过 annotate 操作符来进行统计

80510

ORM常用字段介绍

字段参数 to 设置要关联 to_field 设置要关联字段 related_name 反向操作时,使用字段名,用于代替原反向查询时'名_set'。...ManyToManyField 用于表示多对多关联关系。在数据库中通过第三张来建立关联关系。 字段参数 to 设置要关联 related_name 同ForeignKey字段。...through 在使用ManyToManyField字段时,Django将自动生成一张来管理多对多关联关系。...但我们也可以手动创建第三张来管理多对多关系,此时就需要通过through来指定第三张名。 through_fields 设置关联字段。...主要字段如下: db_table ORM在数据库中名默认是 app_类名,可以通过db_table可以重写名。 index_together 联合索引。

2.5K10

初探Django框架

MTV模型 首先要知道一点, Django框架使用不是我们常见MVC模型而是MTV模型, 提前了解这点对我们理解后面对各个模型作用和框架整体工作流程是非常有帮助。...,会判断,这个随机字符串不是第一次它发给用户那个,如果是,则数据提交成功,如果不是,则返回403权限错误。..., 它可以帮助用户进行数据库连接访问, 同时更重要是可以让用户不是通过写sql语句查询数据, 而是通过类和对象函数方法完成对数据库操作。...实际上我们需要明白一点是, Django模型和数据库间交互并不是完全由Django内部组件完成, 而是依靠pymysql这些独立于Django之外,需要另外安装模块来完成。...): name = models.CharField(max_length=20) models.py中类类名代表了数据库名,且继承了models.Model,类里面的字段代表数据字段(name

2K20

深度历险:Redis 内存模型详解

在客户端通过 redis-cli 连接服务器后(后面如无特殊说明,客户端一律使用redis-cli),通过 info 命令可以查看内存使用情况:info memory。 ?...Key:图中右上角可见,Key(”hello”)并不是直接以字符串存储,而是存储在 SDS 结构中。...RedisObject:Value(“world”)既不是直接以字符串存储,也不是像 Key 一样直接存储在 SDS 中,而是存储在 RedisObject 中。...SDS Redis 没有直接使用 C 字符串(即以空字符’\0’结尾字符数组)作为默认字符串表示,而是使用了 SDS。...使用整型/长整型 如果是整型/长整型,Redis 会使用 int 类型(8 字节)存储来代替字符串,可以节省更多空间。 因此在可以使用整型/整型代替字符串场景下,尽量使用整型/整型

67020
领券