django-常用字段及选项

字段类型
1. BooleanField()
- 数据库类型:tinyint(1)
- 编程语言中:使用True或False来表示值
- 在数据库中:使用1或0来表示具体的值
2. CharField() [依据实际业务和表结构压测得知,使用char字段,查询效率更高]
- 数据库类型:varchar
- 注意:
- 必须要指定max_length参数值
3. DateField()
- 数据库类型:date
- 作用:表示日期
- 编程语言中:使用字符串来表示具体值
- 参数:
- DateField.auto_now: 每次保存对象时,自动设置该字段为当前时间(取值:True/False)。
- DateField.auto_now_add: 当对象第一次被创建时自动设置当前时间(取值:True/False)。
- DateField.default: 设置当前时间(取值:字符串格式时间如: '2019-6-1')。
- 以上三个参数只能多选一
4. DateTimeField()
- 数据库类型:datetime(6)
- 作用:表示日期和时间
- auto_now_add=True

5. DecimalField()
- 数据库类型:decimal(x,y)
- 编程语言中:使用小数表示该列的值
- 在数据库中:使用小数
- 参数:
- DecimalField.max_digits: 位数总数,包括小数点后的位数。 该值必须大于等于decimal_places.
- DecimalField.decimal_places: 小数点后的数字数量

- 示例:
```
money=models.DecimalField(
max_digits=7,
decimal_places=2,
default=0.0
)
```
6. FloatField()
- 数据库类型:double
- 编程语言中和数据库中都使用小数表示值
7. EmailField()
- 数据库类型:varchar
- 编程语言和数据库中使用字符串
8. IntegerField()
- 数据库类型:int
- 编程语言和数据库中使用整数
9. URLField()
- 数据库类型:varchar(200)
- 编程语言和数据库中使用字符串
10. ImageField()
- 数据库类型:varchar(100)
- 作用:在数据库中为了保存图片的路径
- 编程语言和数据库中使用字符串
- 示例:
```
image=models.ImageField(
upload_to="static/images"
)
```
- upload_to:指定图片的上传路径
在后台上传时会自动的将文件保存在指定的目录下
11. TextField()
- 数据库类型:longtext
- 作用:表示不定长的字符数据
- 参考文档 <https://docs.djangoproject.com/en/1.11/ref/models/fields/#field-types>

字段选项FIELD_OPTIONS
- 字段选项, 指定创建的列的额外的信息
- 允许出现多个字段选项,多个选项之间使用,隔开
1. primary_key
- 如果设置为True,表示该列为主键,如果指定一个字段为主键,则此数库表不会创建id字段
2. blank
- 设置为True时,字段可以为空。设置为False时,字段是必须填写的。
3. null
- 如果设置为True,表示该列值允许为空。
- 默认为False,如果此选项为False建议加入default选项来设置默认值
4. default
- 设置所在列的默认值,如果字段选项null=False建议添加此项
5. db_index
- 如果设置为True,表示为该列增加索引
6. unique
- 如果设置为True,表示该字段在数据库中的值必须是唯一(不能重复出现的)
7. db_column
- 指定列的名称,如果不指定的话则采用属性名作为列名
8. verbose_name
- 设置此字段在admin界面上的显示名称。
- 示例:
```python
# 创建一个属性,表示用户名称,长度30个字符,必须是唯一的,不能为空,添加索引
name = models.CharField(max_length=30, unique=True, null=False, db_index=True)

猜你喜欢

转载自www.cnblogs.com/chenlulu1122/p/11907736.html