1.定义属性
django 根据属性的类型确定以下信息:
- 当前选择的数据库支持字段的类型
- 渲染管理表单时使用的默认HTML控件
- 在管理站点最低限度的验证
django会为表创建自动增长的主键列,每个模型只会有一个主键列,如果使用选项设置某属性为主键后django不会再创建自动增长的主键列。
默认创建的主键列属性为id,可以使用pk代替,pk全拼为primary key.为主键的别名。
属性命名限制: - 不能是python的保留关键字
- 不允许使用连续的下划线,这是由django的查询方式决定的。
- 定义属性时需要指定字段类型,通过字段类型的参数指定选项,语法如下
属性=models.字段类型(选项)
2.字段类型
使用时需要引入django.db,models包,字段类型如下:
- AutoField:自动增长的IntegerField,必须写入参数primary_key=True.
- BooleanField:布尔字段,值为True或False.
- NullBooleanField:支持Null、True、False
- CharField(max_length=字符最大长度):字符串
- TextField:大文本字段,一般超过4000个字符时使用。
- IntegerField:整数。
- DecimalField(max_digits=总位数,decimal_places=小数位数):十进制浮点数。
- FloatField:浮点数。
- DateField(auto_now=跟新时间,atuo_now_add=创建时间):日期
- TimeField:时间,参数同DateField.
- DateTimeField:日期时间,参数同DateField.
- FileField:上传文件字段。
参数 | 说明 |
---|---|
upload_to = “” | 上传文件的保存路径如:upload_to = "uploads/%Y/%m/%d/“ |
- ImageField:继承于FileField,对上传的内容进行校验,确保是有效的图片。
参数 | 说明 |
---|---|
upload_to = “” | 上传文件的保存路径 |
storage = None | 存储组件,默认django.core.files.storage.FileSystemStorage |
width_field=None | 上传图片的高度保存的数据库字段名(字符串) |
height_field=None | 上传图片的宽度保存的数据库字段名(字符串) |