ORM字段和操作

本文介绍了Django ORM中的常用字段类型,包括CharField、IntegerField、DecimalField、FloatField等,并详细讲解了每种字段的特性和应用场景。此外,还概述了ORM的Meta选项和操作,如增加、查询、条件查询、统计等,帮助理解Django ORM的工作原理。
摘要由CSDN通过智能技术生成

目录

ORM常用字段

1 概念:

CharField()字符串

IntegerField整型

DecimaIField带固定精度的十进制数

FlostField浮点数

ImageField图片字段

DateField日期类型

DateTimeField日期时间字段

BooleanField布尔类型

EmailField邮箱字段

TextField大文本字段

Meta选项

abstract

ORM操作

增加

查询

查询所有的

查询单个

查询符合条件的

获取查询结果的第一条first()

获取查询结果的最后一条

获取条件之外的数据

统计查询结果的数量

Q查询F语句


ORM常用字段

1 概念:

对象关系映射()跟数据库里的库、表、字段、省去了写sql语句的麻烦,把这些语句都成了封装ORM方法

优点:方便、不需要去关心sql语句如何写

缺点:比sql语句执行慢

官方网站:https://docs.djangoproject.com/zh-hans/2.2/ref/models/fields/

CharField()字符串

对应mysql的varchar

varchar根据字符长分配存储空间,读取速度慢

char固定长,读取速度快,占用空间

CharField有一个必填参数

max_length 最大长度

IntegerField整型

范围:-2147483648-2147483647

数量、评论次数、浏览次数

DecimaIField带固定精度的十进制数

有两个必须参数

max_digits

号码中允许的最大位数。请注意,此数字必须大于或等于decimal_places。

decimal_places

与数字一起存储的小数位数。

如果参与计算,需要转成浮点数(float)

FlostField浮点数

 

ImageField图片字段

里面写了上传图片的方法,不需要写上传代码了,ImgeField自动把图片写入到django后台指定的目录下,使用upload_to这个参数指定上传位置

upload_to上传图片是指定位置

DateField日期类型

datetime.datetime

不指定参数时,每一次创建都必须填写,不可以为空

指定参数以后,可以默认:

auto_now:第一次操作这一行数据时,都会自动更新当前时间到表中

auto_now_add:第一次创建时保存的时间,以后操作不会发生变化

DateTimeField日期时间字段

datetime.datetime

不指定参数时,每一次创建都必须填写,不可以为空

指定参数以后,可以默认:

auto_now:第一次操作这一行数据时,都会自动更新当前时间到表中

auto_now_add:第一次创建时保存的时间,以后操作不会发生变化

BooleanField布尔类型

真值和假值0和1

判断状态时使用

用户是否激活

商品是否删除

EmailField邮箱字段

带邮箱正则验证。自动判断邮箱的格式@xx.com

TextField大文本字段

编辑新闻、小说网站、商品详情介绍

字段选项

null

允许数据库字段为空

blank

为True时,模板当中的表单验证允许为空

choice

class User(models.Model):
    """
    用户名、密码、邮箱、手机号
    """
    SEX_CHOICE = (
        (0,'男'),
        (1,'女')
    )
    username = models.CharField(max_length=64 ,verbose_name='用户名')
    password = models.CharField(max_length=128,blank=True)
    email = models.EmailField(max_length=64,null=True)
    sex = models.IntegerField(choices=SEX_CHOICE,default=0)

default

默认值,当前列添加默认值,用户不需要在前端输入

oices=SEX_CHOICE,default=0)
    create_time = models.DateTime
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值