Django自学笔记 4-2 模型(models)中的Field(字段)

python-django 第三章 常用models的Field 第三章 常用models的Field List item 1、models.AutoField   自增列 = int(11) 如果没有的话,默认会生成一个名称为 id 的列 如果要显式的自定义一个自增列,必须设置primary_key=True。 2、models.CharField   字符串字段   必须设置max_length参数 3、models.BooleanField   布尔类型=tinyint(1)   不能 阅读详情

————总目录——前言——框架版本————

======================= 大爽歌作,made by big shuang =======================

参考:https://docs.djangoproject.com/en/2.2/ref/models/fields/

二、模型(models)中的Field(字段)

一般来说,Field不需要另行导入,因为导入models就够了,Field类都在models

from django.db import models

1 基类django.db.models.Field

django.db.models.Field是所有Field类的基类,以下简称Field
Field的常见属性(建立实例时可用)

  • null: 是否能为空,默认为False
  • default: 默认值,默认为False
  • primary_key: 是否为主键,默认为False
    如果没有为模型中的任何字段指定primary_key=True,Django将自动添加一个AutoField(id)来保存主键。
    primary_key=True表示null=False,unique=True。一个Model上只允许有一个主键。
    主键字段是只读的。如果更改现有对象上主键的值,然后保存它,将在旧对象的旁边创建一个新对象。
  • unique: 是否唯一,默认为False。
  • choices: 给Field指定可以选择的值(比如性别字段一般只能选择男或者女),默认为None(即不指定)
    例子:
class Student(models.Model):
    gender = [
    # 每个元组中的第一个元素是要在模型上设置的实际值,第二个元素是用户看到的值。
        ("m", "男"),
        ("f", "女")
    ]
    
    gender = models.CharField(max_length=10, choices=gender, default='m', verbose_name="性别")
  • verbose_name: 可读名,前端展示form表单时,为该属性用的表头文本。如果不设置,则将使用本字段属性名(即变量名)自动创建它(将下划线转换为空格)
  • help_text: 与表单部件一起显示的辅助信息文本,常常用于提示字段输入格式(可以写HTML)
    例子
help_text="Please use the following format: <em>YYYY-MM-DD</em>."

当然,Field类还有一些其他的属性,这里只介绍一些基础的,详细属性可查看Field对应的官方文档

2 常用类

CharField
最常用的,字符串类型字段
额外的必需参数:
max_length: 字段的最大长度(字符)。
使用示例:

name = models.CharField(max_length=50, verbose_name="姓名")

补充: max_length最好不要超过255,参考:database backend notes。对于大量文本请使用TextField
IntegerField
整数类型字段
补充:从-2147483648到2147483647的值在Django支持的所有数据库中都是安全的。

3 其他类

  • EmailField
Django下models自定义Field的使用 一、自定义Field介绍 在上一个博客中简单罗列了一下Django下models常用的Field,但是有时候这些Field不能满足我们的存储数据的需求,这个时候我们就可以使用自定义Field 二、自定义Field编写 具体思路是基于原有的Field,自定义Field首先去继承原有的Field,然后进行重写 需要重写明确以下几点: 第一、需要继承的models下的原有Field 第二、明... 阅读详情

相关推荐

Django模型(Models):1、字段及属性

简介 模型是一个用于表示数据的Python类,包含基本的数据字段和行为,在Django中,通常一个模型就代表一个数据库表。 模型集成自django.db.models.Model,模型的每一个属性代表一个数据表的列。 举例介绍 在models.py文件中创建一个Person模型: from django.db import models class Person(models.Model): name = models.CharField(max_length=30) age = mo

未来来 1231

django中models field详解

本文参考自:django官方文档models/field 在model中添加字段的格式一般为: field_name = field_type(**field_options) 一 field options(所有字段共用) 1 null 默认为False,True则表示可以为null。(空字符串在数据库中可能被存储为’’) 2 blank 默认为False,True表示可以为空。 ...

m0_37317411的博客 1582

Django 4.x Models Field 字段选项&类型

通过本教程,我们深入了解了Django模型中的字段类型和字段选项,以及它们在设计数据库模型时的重要作用。字段类型决定了数据在数据库中的存储方式,包括文本、数字、布尔值、日期时间、文件路径等多种类型。字段选项则提供了对这些字段行为的细粒度控制,如是否允许为空、是否唯一、是否自动填充时间戳等。理解和正确使用这些字段类型和选项,可以帮助开发者构建结构清晰、性能优良的数据库模型。在实际开发中,合理选择字段类型和选项,能够有效地确保数据的完整性、提高查询性能、优化存储空间,并提供更好的用户体验。

Mr数据杨 3万+

Django模型层操作之Fields

模型层表操作之Fiekds字段,字段名命名限制,字段类型,字段选项,设置字段的自述名字,建立表关系,自定义字段。

weixin_47035302的博客 1774

鱼眼双目测距实战:从OpenCV标定到SGBM匹配的完整流程解析

本文详细解析了鱼眼双目测距的完整流程,从OpenCV标定到SGBM匹配,涵盖标定、校正、匹配和测距四个关键阶段。通过实战经验分享,帮助开发者解决鱼眼镜头强畸变带来的测距挑战,提升测距精度至5%以内。特别适合机器人导航、自动驾驶和VR领域的开发者参考。

weixin_27298377的博客 124

CrackerXI+脱壳实战:解决iOS应用逆向中的加密文件问题

本文详细介绍了如何使用CrackerXI+工具对iOS应用进行脱壳,解决App Store应用因FairPlay DRM加密而无法进行静态分析的难题。通过图形化界面一键操作,CrackerXI+能高效获取解密后的可执行文件,为逆向工程奠定基础。文章涵盖工具选型、实战步骤及常见问题排查,是iOS逆向入门与进阶的实用指南。

seed的博客 258

django 框架模型之models常用的Field,这些Field的参数、及常见错误原因及处理方案。

1. django 模型models 常用字段 1、models.AutoField   自增列 = int(11) 如果没有的话,默认会生成一个名称为 id 的列 如果要显式的自定义一个自增列,必须设置primary_key=True。 2、models.CharField   字符串字段   必须设置max_length参数 3、models.BooleanField   布尔类型=t...

abc62201的博客 3607

WD西部数据2TB,2.5寸移动硬盘,因为磁头坏了,长时间通电导致划片划伤,维修过程通过反复更换磁头

WD西部数据2TB,2.5寸移动硬盘,因为磁头坏了,长时间通电导致划片划伤,维修过程通过反复更换磁头,才能利用专业设备,里面找到,镜像,把内容数据恢复出来。 1.说一下经历,借用的别人移动硬盘,去帮别人维修,拷数据出来,别人的文件,数据比较多,且复杂,而且是在PE系统,接口什么的是2.0,没有很好的思考就全选复制拷贝了; 2,拷贝的过程,极其慢,文件多,且文件有损坏,移动硬盘一直处于通电的状态,大概从下午,两点多开始100多G的数据,一直卡住,到,晚上7 。8点拷完还是没拷完。打开的时候就已经,就一直

weixin_43766920的博客 4303

从源码中详解Django中 Models的Field字段.

谈到django,就不得不提一下其中的model模型了,这里面的Field字段也是一个学点,只有真正掌握这些,才能顺势而为, 一起来阅读源码学习吧。

Blog沙漏在下雨 2492

【unity实战】Unity手搓脚本工具实现合并网格功能

本文介绍了在Unity中优化网格性能的方法,通过合并重复网格减少绘制调用。主要使用Mesh.CombineMeshes方法实现网格合并,支持统一材质和多材质处理。核心内容包括:1)基础合并脚本实现,将子网格合并到父对象并禁用原网格;2)统一材质设置,支持自定义或默认材质;3)多材质合并方案,通过设置mergeSubMeshes=false保留子网格材质索引。文章还提供了完整代码示例和操作演示,适用于实际项目中的网格优化需求。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 560

飞牛fnNAS虚拟机标准安装

飞牛NAS是一款基于Debian开发的国产免费NAS系统,支持x86架构设备,可将闲置硬件改造为NAS服务器。系统安装简便,支持多种存储模式与硬盘休眠功能,具备智能影视管理、照片备份等实用功能,并提供多种远程访问方式。飞牛NAS还支持Docker扩展,目前已承诺永久免费。文章详细介绍了在VMware虚拟机中安装飞牛NAS的步骤,包括下载镜像、创建虚拟机、初始化设置等过程,并展示了创建共享文件夹等基本操作,帮助用户快速上手这款功能强大的免费NAS系统。

dgnankai的专栏 3258

django 框架模型之models常用的Field,这些Field的参数

django 模型models 常用字段 1、models.AutoField   自增列 = int(11) 如果没有的话,默认会生成一个名称为 id 的列 如果要显式的自定义一个自增列,必须设置primary_key=True。 2、models.CharField   字符串字段   必须设置max_length参数 3、models.BooleanField   布尔类型=tinyin...

编程之路 6473

20_文件系统的制作 -JFFS2

JFFS2 文件系统是通过工具 mkfs.jffs2 将文件系统目录制成映像文件。制作工具mkfs.jffs2 需要编译 zhb 库和 mtd-utils,下面详细介绍其制作过程

Leon的博客 549

Django中models下常用Field以及字段参数

一、常见的FieldType数据库字段类型 1、AutoField:自增Field域,自动增加的一个数据库字段类型,例如id字段就可以使用该数据类型,参数中必须填入primary_key=True 2、BigAutoField:和AutoField相同,只是比AutoField要大,参数中必须填入primary_key=True 3、BigIntegerField:大整型,只要用于存储整型的数...

BearStarX的博客 2859

华为OD机考双机位C卷 - 最左侧冗余覆盖子串 (Java)

华为OD机考双机位C卷 - 最左侧冗余覆盖子串 (Java), 提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 58

AUTOSAR 导入DBC ISOLAR工程配置

ISOLAR工程配置-dbc导入

汽车电子电气 2407

Django 中模型models字段类型总结

下边字段类型是在django中使用ORM创建数据模型时,常用的字段类型总结: 1、AutoField 一个自增的IntegerField,一般不直接使用,因为django会自动为每一张表添加自增primary_key 2、BigIntegerField 64位整数,-9223372036854775808 到 9223372036854775807 ...

记录点滴 5096

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Django中models文件中的字段

Django 通过 models 实现数据库的创建、修改、删除等操作,便于查询和使用: AutoField:一个自动递增的整型字段,添加记录时它会自动增长。你通常不需要直接使用这个字段;如果你不指定主键的话,系统会自动添加一个主键字段到你的model。 BooleanField:布尔字段,管理工具里会自动将其描述为checkbox。 CharField:字符串字段,单行输入,用于较短的字符串,如要保

Allen_by的博客 2496

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

django models的字段

连接: https://docs.djangoproject.com/en/2.2/ref/models/fields/ 1.Model field reference(模型字段引用) .本文档是Django提供了包含所有字段参考:包含字段操作和字段类型。 如果内置字段不管用,可以尝试django-localflavor( https://github.com/django/d...

Cat的博客 1518

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【django】——models模型定义与字段

一、ORM简介 如今几乎所有的软件开发过程中都会涉及到对象和关系数据库。在用户层面和业务逻辑层面,我们是面向对象的,而对象的信息保存在关系数据库中。按照原始SQL方式开发,程序员会在自己的业务逻辑代码中编写很多sql语句用来CRUD相关数据库数据,而这些代码通常都是极其相似或者重复。 ORM对象关系映射(object elational Mapping,简称ORM)模式是一种为了解决面向对象与...

Wonder ZH 1560

Django大咖之路: 深入学习Django 2.0核心技术之Models模型设计

Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL的配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。今天小编我就拼了老命来用千字长文给你来介绍下第一项Django核心基础知识之Model的设计吧。想持续了解后续Django Web开发技术请订阅我的 微信公众号【Python与Django大咖之路】。什么是Model模型?Model ...

大江狗 3982

Django学习(3):Django的MVT架构:Models模型层

如果已经存在的模型字段不能满足需求,或者希望支持一些不太常见的数据库列类型,可以创建自己的字段类。在官方文档中的"编写自定义模型字段"中提供了创建自定义字段的各方面内容。字段参考介绍了如何使用 Django 的标准字段类—— CharField, DateField,等等。大多数情况下,这些类就是我们所需要的。虽然有时候,Django 的版本不能精确地匹配需求,或者想使用的字段与 Django 内置的完全不同。

qq_62278240的博客 2390
上一篇: 贴吧趣味问题——一线连24点【编程穷举证明无解】
下一篇: Django自学笔记 1-2 常用配置
大爽歌
博客等级 码龄9年 422粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值