#Django学习#模型字段常用的类型

本文详细介绍了Django中各种模型字段的使用方法,包括CharField、DateField、DateTimeField、ImageField、IntegerField等,涵盖了字符串、日期、时间、图片、整数等多种数据类型的存储与应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
  • 用于存放文本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值