以django3.2为例,标红的是常用的字段。
- AutoField 自增int主键,默认添加
BigAutoField
与AutoField相似,但是范围更大, 1 到 9223372036854775807 的数字ForeignKey
: #外键,关联其它模型,创建关联索引ManyToManyField
: #多对多,关联其它模型,创建关联表OneToOneField
: #一对一,字段关联表属性BooleanField
: 布尔值CharField
: 字符串,适合中小长度BooleanField
: #bit字段上可以设置上null值DateTimeField
: datetime(包括年月日时分秒)auto_now
:每次保存对象时,自动将该字段设置为现在;auto_now_add
:当第一次创建对象时,自动将该字段设置为现在GenericIPAddressField
: IPv4 或 IPv6 地址,字符串格式
: #varcharFilePathField
IntegerField
: int类型TextField
: 不限长度的文本JSONField
: 存储 JSON 编码数据的字段;官方使用方式:django中使用jsonURLField
: URL 的 CharField,由 URLValidator 验证。ForeignKey
: 关系字段,多对一的关系;在幕后,Django 在字段名后附加"_id"
来创建数据库列名,可以通过指定db_column
来显式地改变- DateField: date(年月日) auto_now, auto_now_add
- UUIDField: 用于存储通用唯一标识符的字段。使用 Python 的 UUID 类
- DecimalField: 一个固定精度的十进制数
- DurationField: 存储时间段的字段, pg中是interval
- EmailField: 一个 CharField,使用 EmailValidator 来检查该值是否为有效的电子邮件地址。
- FloatField
- ImageField:
- SlugField: #varchar,标签,内含索引
- CommaSeparatedIntegerField: #varchar
- PositiveIntegerField: #int 正整数
- SmallIntegerField: #smallint
- PositiveSmallIntegerField: #smallint 正整数
- TimeField: 一个时间,在 Python 中用 datetime.time 实例表示。
- XMLField: #text
- BigIntegerField: 特别大范围的int
- BinaryField: 存储二进制,在数据库中存储文件在99%的情况下是糟糕的设计
参考:模型字段参考 | Django 文档 | Django (djangoproject.com)
80%的人都看过的文章
本文来自凡蜕博客(https://blog.ysboke.cn), 转载请带上地址.。
2023年6月14日 下午2:27 1F
嘎嘎嘎