ORM字段
AutoField:
int 自增列,必须填入参数primary_key = True
IntegerField:
一个整数类型
BigAutoField:
- bigint自增列,必须填入参数 primary_key=True
CharField:
字符类型,必须提供max_length参数, max_length表示字符长度。 # 需要存储邮箱格式的数据,就是字符串格式存储CharField
DateField:
日期字段,日期格式 YYYY-MM-DD,相当于Python中的datetime.date()实例
DateTimeField:
日期时间字段,格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ],相当于Python中的datetime.datetime()实例
auto_now:每次修改数据的时候都会自动更新当前时间
auto_now_add:只在创建数据的时候记录创建时间后续不会自动修改了
TimeField(DateTimeCheckMixin, Field):
时间格式 HH:MM[:ss[.uuuuuu]]
BooleanField(Field):
- 布尔值类型
TextField(Field) text:
文本类型: 可以存储大文本,写一篇文章 text
EmailField(CharField):
字符串类型,Django Admin以及ModelForm、Forms组件中提供验证机制
FileField(Field):
字符串,路径保存在数据库,文件上传到指定目录
参数:
upload_to = "" 上传文件的保存路径
storage = None 存储组件,默认django.core.files.storage.FileSystemStorage
ImageField(FileField):
- 字符串,路径保存在数据库,文件上传到指定目录
- 参数:
upload_to = "" 上传文件的保存路径
storage = None 存储组件,默认django.core.files.storage.FileSystemStorage
width_field=None, 上传图片的高度保存的数据库字段名(字符串)
height_field=None 上传图片的宽度保存的数据库字段名(字符串)
FloatField(Field):
- 浮点型
DecimalField(Field):
max_digits,小数总长度
decimal_places,小数位长度
ORM字段参数
null:用于表示某个字段可以为空
unique:如果设置为unique=True 则该字段在此表中必须是唯一的
db_index:如果db_index=True 则代表着为此字段设置索引
default:为该字段设置默认值
DateField和DateTimeField
auto_now_add:配置auto_now_add=True,创建数据记录的时候会把当前时间添加到数据库
auto_now:配置上auto_now=True,每次更新数据记录的时候会更新该字段
choices # 先忽略