[内容] Django 模型层 Models Layer 常用数据库字段

内容目录:

内容一:Django Models 常用的文本字段
1.1 CharField() 字符串字段
1.1.1 CharField() 字符串字段的格式
1.1.2 CharField() 字符串字段的必选项
1.1.3 CharField() 字符串字段的可选项
1.1.4 CharField() 字符串字段的使用案例
1.2 TextField() 文本字段
1.2.1 TextField() 文本字段的格式
1.2.2 TextField() 文本字段的必选项
1.2.3 TextField() 文本字段的可选项
1.2.4 TextField() 文本字段的使用案例

内容二:Django Models 常用的数值字段
2.1 IntegerField() 整数字段
2.1.1 IntegerField() 整数字段的格式
2.1.2 IntegerField() 整数字段的可选项
2.1.3 IntegerField() 整数字段的使用案例
2.2 PositiveIntegerFiled() 正整数字段
2.2.1 PositiveIntegerFiled() 正整数字段的格式
2.2.2 PositiveIntegerFiled() 正整数字段的可选项
2.2.3 PositiveIntegerFiled() 正整数字段的使用案例
2.3 DecimalField() 小数字段
2.3.1 DecimalField() 小数字段的格式
2.3.2 DecimalField() 小数字段的必选项
2.2.3 DecimalField() 小数字段的使用案例

内容三:Django Models 常用的日期字段
3.1 DateField() 日期字段
3.1.1 DateField() 日期字段的格式
3.1.2 DateField() 日期字段的可选项
3.1.3 DateField() 日期字段的使用案例
3.2 DateTimeField() 日期时间字段
3.2.1 DateTimeField() 日期时间字段的格式
3.2.2 DateTimeField() 日期时间字段的可选项
3.2.3 DateTimeField() 日期时间字段的使用案例

内容四:Django Models 常用的标准格式字段
4.1 GenericIPAddressField() IPv4 地址字段
4.1.1 GenericIPAddressField() IPv4 地址字段的格式
4.1.2 GenericIPAddressField() IPv4 地址字段的使用案例
4.2 EmailField() 邮件地址字段
4.2.1 EmailField() 邮件地址字段的格式
4.2.2 EmailField() 邮件地址字段的可选项
4.2.3 EmailField() 邮件地址字段的使用案例
4.3 UUIDField() UUID 字段
4.3.1 UUIDField() UUID 字段的格式
4.3.2 UUIDField() UUID 字段的案例

内容五:Django Models 常用的逻辑字段
5.1 AutoField() 自动递增字段
5.1.1 AutoField() 自动递增字段的格式
5.1.2 AutoField() 自动递增的可选项
5.1.3 AutoField() 自动递增的使用案例
5.2 BooleanField() 布尔(boolean)值字段
5.2.1 BooleanField() 布尔(boolean)值字段的格式
5.2.2 BooleanField() 布尔(boolean)值字段的可选项
5.2.3 BooleanField() 布尔(boolean)值字段的案例

内容六:Django Models 常用的外部资源字段
6.1 FileField() 文件字段
6.1.1 FileField() 文件字段的格式
6.1.2 FileField() 文件字段的必选项
6.1.3 FileField() 文件字段的可选项
6.1.4 FileField() 文件字段的使用案例
6.2 URLField() URL 字段
6.2.1 URLField() URL 字段的格式
6.2.2 URLField() URL 字段的可选项
6.2.3 URLField() URL 字段的使用案例
6.3 ImageField() 图片字段
6.3.1 ImageField() 图片字段的格式
6.3.2 ImageField() 图片字段的可选项
6.3.3 ImageField() 图片字段的使用案例

具体的内容:

内容一:Django Models 常用的文本字段
1.1 CharField() 字符串字段
1.1.1 CharField() 字符串字段的格式

<field> = models.CharField(max_length = <string length>, <option>)

1.1.2 CharField() 字符串字段的必选项

max_length = <text length>

或者:

max_length = None

1.1.3 CharField() 字符串字段的可选项

1) blank = True

值可以为空


2) null = True

值可以为空


3) default = '<default value>'

值可以为空,可以设置成其他的值


4) unique = True

值唯一

1.1.4 CharField() 字符串字段的使用案例

item = models.CharField(max_length = 20, unique = True)

(补充:这里以设置名为 item,且是唯一的 CharField() 字符串字段为例)

1.2 TextField() 文本字段
1.2.1 TextField() 文本字段的格式

<field> = models.TextField(max_length = <string length>, <option>)

1.2.2 TextField() 文本字段的必选项

max_length = <text length>

或者:

max_length = None

1.2.3 TextField() 文本字段的可选项

1) blank = True

值可以为空


2) null = True

值可以为空


3) default = '<default value>'

值可以为空,可以设置成其他的值


4) unique = True

值唯一

1.2.4 TextField() 文本字段的使用案例

item = models.TextField(max_length = 20, unique = True)

(补充:这里以设置名为 item,且是唯一的 TextField() 文本字段为例)

内容二:Django Models 常用的数值字段
2.1 IntegerField() 整数字段
2.1.1 IntegerField() 整数字段的格式

<field> = models.IntegerField(<option>)

2.1.2 IntegerField() 整数字段的可选项

1) blank = True

值可以为空


2) null = True

值可以为空


3) default = '<default value>'

值可以为空,可以设置成其他的值

2.1.3 IntegerField() 整数字段的使用案例

item = models.IntegerField()

(补充:这里以设置名为 item 的整数字段为例)

2.2 PositiveIntegerFiled() 正整数字段
2.2.1 PositiveIntegerFiled() 正整数字段的格式

<field> = models.IntegerField(<option>)

2.2.2 PositiveIntegerFiled() 正整数字段的可选项

1) blank = True

值可以为空


2) null = True

值可以为空


3) default = '<default value>'

值可以为空,可以设置成其他的值

2.2.3 PositiveIntegerFiled() 正整数字段的使用案例

item = models.TextField()

(补充:这里以设置名为 item 的正整数字段为例)

2.3 DecimalField() 小数字段
2.3.1 DecimalField() 小数字段的格式

<field> = models.DecimalField(max_digits = <total number of decimal places>, decimal_places = <how many places after the decimal point>)

2.3.2 DecimalField() 小数字段的必选项

1) max_digits = <total number of decimal places>

小数字段总共位数

2) decimal_places = <how many places after the decimal point>

小数字段小数点后保留几位

2.2.3 DecimalField() 小数字段的使用案例

item = models.DecimalField(max_digits = 5, decimal_places = 2)

(补充:这里以设置名为 item,长度为 5,小数点后保留 2 位的 DecimalField() 小数字段为例)

内容三:Django Models 常用的日期字段
3.1 DateField() 日期字段
3.1.1 DateField() 日期字段的格式

<field> = models.DateField(<option>)

3.1.2 DateField() 日期字段的可选项

auto_now = True

自动更新创建时间

3.1.3 DateField() 日期字段的使用案例

item = models.DateField(auto_now_add=True)

(补充:这里以设置名为 item,可自动更新的 DateField() 日期字段为例)

3.2 DateTimeField() 日期时间字段
3.2.1 DateTimeField() 日期时间字段的格式

<field> = models.DateTimeField(<option>)

3.2.2 DateTimeField() 日期时间字段的可选项

auto_now = True

自动更新创建时间

3.2.3 DateTimeField() 日期时间字段的使用案例

item = models.DateTimeField(auto_now_add=True)

(补充:这里以设置名为 item,可自动更新的 DateTimeField() 日期时间字段为例)

内容四:Django Models 常用的标准格式字段
4.1 GenericIPAddressField() IPv4 地址字段
4.1.1 GenericIPAddressField() IPv4 地址字段的格式

<field> = models.IPAddressField()


补充:
在老的 Django 版本里,此字段的真实名称是:

models.IPAddressField()
)

4.1.2 GenericIPAddressField() IPv4 地址字段的使用案例

item = models.IPAddressField()

(补充:这里以设置名为 item 的 IPAddressField() IPv4 地址字段为例)


补充:
在老的 Django 版本里,此字段的真实名称是:

models.IPAddressField()
)

4.2 EmailField() 邮件地址字段
4.2.1 EmailField() 邮件地址字段的格式

<field> = models.EmailField(<option>)

4.2.2 EmailField() 邮件地址字段的可选项

unique = True

值唯一

4.2.3 EmailField() 邮件地址字段的使用案例

item = models.EmailField(unique = True)

(补充:这里以设置名为 item 的,且是唯一的 EmailField() 邮件地址字段为例)

4.3 UUIDField() UUID 字段
4.3.1 UUIDField() UUID 字段的格式

<field> = models.UUIDField()

4.3.2 UUIDField() UUID 字段的案例

item = models.UUIDField()

(补充:这里以设置名为 item 的 UUIDField() UUID 字段为例)

内容五:Django Models 常用的逻辑字段
5.1 AutoField() 自动递增字段
5.1.1 AutoField() 自动递增字段的格式

<field> = models.AutoField(<option>)

5.1.2 AutoField() 自动递增的可选项

primary_key = True

设置为主键

5.1.3 AutoField() 自动递增的使用案例

item = models.AutoField(primary_key = True)

(补充:这里以设置名为 item 的,且设置为主键的 AutoField() 自动递增字段为例)

5.2 BooleanField() 布尔(boolean)值字段
5.2.1 BooleanField() 布尔(boolean)值字段的格式

<field> = models.BooleanField(<option>)

5.2.2 BooleanField() 布尔(boolean)值字段的可选项

default=<default value>

(补充:设置布尔(boolean)值的默认值,默认值可选项有且只有:True 和 False)

5.2.3 BooleanField() 布尔(boolean)值字段的案例

item = models.BooleanField(default=False)

(补充:这里以设置名为 item 的,且默认值为 False 的布尔(boolean)值字段为例)

内容六:Django Models 常用的外部资源字段
6.1 FileField() 文件字段
6.1.1 FileField() 文件字段的格式

<field> = models.FileField(upload_to = "<directory/file>", <option>)

6.1.2 FileField() 文件字段的必选项

upload_to='<directory/file>'

6.1.3 FileField() 文件字段的可选项

max_length = '<length size>'

6.1.4 FileField() 文件字段的使用案例

item = models.FileField(upload_to ="./file", max_length = '4096')

(补充:这里以设置名为 item 的,读取本地的 ./file 文件,大小为 4096 的 FileField() 文件字段为例)

6.2 URLField() URL 字段
6.2.1 URLField() URL 字段的格式

<field> = models.URLField(max_length=<URL size>, <option>)

6.2.2 URLField() URL 字段的可选项

1) verify_exists = True

默认值为 True,如果 URL 不存在,则会返回 404


2) max_length=<URL size>

默认值为 200

6.2.3 URLField() URL 字段的使用案例

item = models.URLField(max_length= 200)

(补充:这里以设置名为 items 的,大小的为 200 的 URLField() URL 字段为例)

6.3 ImageField() 图片字段
6.3.1 ImageField() 图片字段的格式

item = models.ImageField(upload_to = "<directory/file>", <option>)

6.3.2 ImageField() 图片字段的可选项

1) height_field = <height size>
2) width_field = <width size>
3) max_length = <image size>

6.3.3 ImageField() 图片字段的使用案例

item = models.ImageField(upload_to = "./file")

(补充:这里以设置名为 item 的,读取本地的 ./file 文件的 ImageField() 图片字段为例)

参考文献:

https://docs.djangoproject.com/en/3.2/ref/models/fields/