常用字段以及字段参数
以下参数可用于所有字段,所有都是可选的
-
null参数,用法models.CharField(max_length=20, null=True),表示字段值最大长度为20,并且可以为空。
-
blank参数,用法models.CharField(max_length=20, blank=True), 表示字段值最大长度为20,并且表单验证可以为空。一般与null同时使用。
-
choices参数
用法:
from django.db import models class Person(models.Model): """ 性别: M代表男,F代表女 """ SEX_CHOICES = [ ("M", "Male"), ("F", "Female") ] name = models.CharField(max_length=20) gender = models.CharField(max_length=4, choices=SEX_CHOICES)
添加方法以及获取方法:
# 创建一个用户对象 >>>p = Person.objects.create(name="张三", gender="M") # 获取性别的代表字母 >>>p.gender 'M' # 获取选项元组 >>>p.get_gender_display() 'Male'
-
default参数,默认值,比如整数型字段models.IntegerField(default=0), 给定一个默认值,可以在添加的时候,不需要马上就输入值
-
primary_key参数,需要重设主键时,才需要添加此参数,如:商城订单,需要用订单号来做主键,可以添加此参数
-
unique参数,唯一值,添加此参数以后,表示这个字段唯一,如:身份证号,手机号等
-
verbose_name参数,该字段的可读名称。一般定义为中文。
常用字段
-
CharField()字段
# max_length为必填项,主要目的是为了防止恶意操作 models.CharField(max_length=20)
扩展:
models.CharField 对应的是MySQL的varchar数据类型
char 和 varchar的区别 :
char和varchar的共同点是存储数据的长度,不能 超过max_length限制,
不同点是varchar根据数据实际长度存储,char按指定max_length的长度存储数据;前者更节省硬盘空间;
-
TextFiled():大文本字段,一般超过4000个字符时使用
-
EmailField()字段
# 一个带有检查 Email 合法性的 CharField models.EmailField(max_length=50) # 默认长度为254
-
Bo