CharField
- 用来存储从小到很大各种长度的字符串的地方,必须接收一个参数max_length=xx 用来限定字符串的最大长度。
name = models.CharField(max_length=20, verbose_name='姓名', default='')
choice
- 它是一个可迭代的结构(比如,列表或是元组),由可迭代的二元组组成(比如[(A, B), (A, B) …]),用来给这个字段提供选择项
- 如果设置了 choices ,默认表格样式就会显示选择框,而不是标准的文本框,而且这个选择框的选项就是 choices 中的元组。
- 每个元组中的第一个元素,是存储在数据库中的值;第二个元素是该选项更易理解的描述。
gender = models.CharField(max_length=10, choices=(('male', '男'), ('female', '女')), default='male', verbose_name='性别')
DateField
- 用来表示日期的
birthday = models.DateField(verbose_name='生日', null=True, blank=True)
- 一般允许该字段为空时,需要同时写上null=True, blank=True。
DateTimeField
class DateTimeField([auto_now=False, auto_now_add=False, **options])
- 是通过Python datetime.datetime实例表示的日期和时间. 携带了跟DateField一样的额外参数.
- 该字段默认对应的表单控件是一个单个的TextInput(单文本输入框). 管理界面是使用两个带有 JavaScript控件的 TextInput 文本框.
- 一般用在记录某字段的添加时间。
from datetime import datetime
add_time = models.DateTimeField(default=datetime.now, verbose_name='添加时间')
ImageField
class ImageField([upload_to=None, height_field=None, width_field=None, max_length=100, **options])
- ImageField字段需要调用Pillow 库.
- ImageField会创建在你的数据库中 和 varchar 一样,默认最大长度为100和其他字段一样, 你可以使用max_length 参数来设置默认文件最大值.
image = models.ImageField(max_length=100, upload_to='users/image/%Y/%m', default='users/image/default_big_14.png', verbose_name='头像')
IntegerField
class IntegerField([**options])
- 一个整数。在Django所支持的所有数据库中,从 -2147483648 到 2147483647 范围内的值是合法的。默认的表单输入工具是TextInput.
AutoField
- 一个Integer类型的自动增长
BooleanField
- 用于存放布尔类型的数据(True或者False)
CharField
- 用于存放字符类型的数据,需要指定长度max_length
DateField
- 日期类型,必须是"YYYY-MM-DD"格式
DecimalField
- 小数型,用于存放小数的数字
EmailField
- 电子邮件类型
FilePathField
- 文件路径类型
BigIntegerField
- 用于存放大的integer类型,最大数支持9223372036854775807
GenericIPAddressField
- 存放IP地址的类型,但允许NULL作为选项之一
NullBooleanField
- 像BooleanField类型,但允许NULL作为选项之一
TextField
- 用于存放文本