一起学习Django框架(七)模型层:ORM常用字段及参数;Meta元信息;ORM中的SQL

简介:本章节我们将了解到:Django的ORM中的一些常见字段、ORM字段参数、字段之间关系、Mete类的作用、及如何在ORM中使用原生SQL;一、ORM常用字段与不常用字段AutoFieldint类型且自增,必须填入参数 primary_key=True。当model中如果没有自增字段,则自动会创建一个名为id的字段,并设置为主键、自增。IntegerField整数类型,其数值范围在 -2147483648 - 2147483647。CharField字符类型,必须提供max_le
摘要由CSDN通过智能技术生成


简介:

本章节我们将了解到:Django的ORM中的一些常见字段、ORM字段参数、字段之间关系、Mete类的作用、及如何在ORM中使用原生SQL;



一、ORM常用字段与不常用字段

AutoField

int类型且自增,必须填入参数 primary_key=True。当model中如果没有自增字段,则自动会创建一个名为id的字段,并设置为主键、自增。


IntegerField

整数类型,其数值范围在 -2147483648 - 2147483647。


CharField

字符类型,必须提供max_length参数, max_length表示字符长度。


DateField

日期字段,日期格式 YYYY-MM-DD,相当于Python中的datetime.date()实例。格式为:年-月-日

常用参数:

  • auto_now_add = True:创建数据记录的时候会把当前时间添加到数据库, 更改记录不会发生变动。
  • auto_now = True:每次更新数据记录的时候会更新该字段。

DateTimeField

日期时间字段,格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ],相当于Python中的datetime.datetime()实例。格式为:年-月-日 时:分:秒:毫秒

常用参数如DateField一致


FloatField

浮点数类型,小数越长越不精准


DecimalField

使用 Decimal 实例表示固定精度的十进制数的字段。它有两个必须的参数:

  • max_digits:数字允许的最大位数

  • decimal_places:小数的最大位数


不常用字段:

BigAutoField(AutoField)
- bigint类型且自增列,必须填入参数 primary_key=True

SmallIntegerField(IntegerField):
- 小整数 -3276832767

PositiveSmallIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField)
- 正小整数 032767

PositiveIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField)
- 正整数 02147483647

BigIntegerField(IntegerField):
- 长整型(有符号的) -92233720368547758089223372036854775807

BooleanField(Field)
- 布尔值类型

NullBooleanField(Field):
- 可以为空的布尔值

TextField(Field)
- 文本类型

EmailField(CharField)- 字符串类型,Django Admin以及ModelForm中提供验证机制

IPAddressField(Field)
- 字符串类型,Django Admin以及ModelForm中提供验证 IPV4 机制

GenericIPAddressField(Field)
- 字符串类型,Django Admin以及ModelForm中提供验证 Ipv4和Ipv6
- 参数:
protocol,用于指定Ipv4或Ipv6, 'both',"ipv4","ipv6"
unpack_ipv4, 如果指定为True,则输入::ffff:192.0.2.1时候,可解析为192.0.2.1,开启此功能,需要protocol="both"

URLField(CharField)
- 字符串类型,Django Admin以及ModelForm中提供验证 URL

SlugField(CharField)
- 字符串类型,Django Admin以及ModelForm中提供验证支持 字母、数字、下划线、连接符(减号)

CommaSeparatedIntegerField(CharField)
- 字符串类型,格式必须为逗号分割的数字

UUIDField(Field)
- 字符串类型,Django Admin以及ModelForm中提供对UUID格式的验证

FilePathField(Field)
- 字符串,Django Admin以及ModelForm中提供读取文件夹下文件的功能
- 参数:
path,                      文件夹路径
match=None,         
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值