在进行 Django Web 开发的时候不可避免的要进行数据库的设计,如果了解了 Django 中的 models的 Field 字段设置就可以利用 Python 代码进行数据库的设计,通过 migrate 数据迁移的方式在对应的数据库中自动的生成表单。
因此要掌握 Field 的字段设置以及代码编写就尤为重要了,这个是构建整个 Web 系统的基础。
ColName = models.AutoField(primary_key = True)ColName = models.BigAutoField(primary_key = True)ColName = models.BigAutoField(primary_key = True)ColName = models.BigIntegerField()ColName = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)ColName = models.CharField(max_length = 50)ColName = models.BooleanField(Blank = True)from django.utils import timezoneColName = models.DateField( auto_now = timezone.now)from django.utils import timezoneColName = models.DateTimeField(default = timezone.now)from django.utils import timezoneColName = models.DecimalField(max_digits = 5 , decimal_places = 2)>>> 999.99ColName = DurationField(default=timedelta(minutes=20))ColName = models.EmailField()ColName = models.FloatField()ColName = models.IntegerField()ColName = models.GenericIPAddressField(protocol = 'both')ColName = models.PositiveBigIntegerField()ColName = models.PositiveIntegerField()ColName = models.PositiveSmallIntegerField()ColName = models.SlugField()ColName = models.SmallIntegerField()ColName = models.TextField()ColName = models.TimeField()ColName = models.URLField()ColName = models.BinaryField(max_length=None)ColName = models.ImageField(upload_to='xxx/')ColName = models.FilePathField(path="/xxx/xxx", match="data.*", recursive=True)ColName = models.FileField(upload_to='uploads/%Y/%m/%d/')ColName = models.JSONField()默认为False。null=True 允许字段存储空值。
ColName = models.TextField(null=True)默认为 False。blank=True 允许Admin后台中添加数据时可为空值。
ColName = models.TextField(blank= True)主键,对AutoField设置主键后,就会代替原来的自增 id 列。
ColName = models.AutoField(primary_key = True)创建关联选项,枚举类型。用于 admin 后台字段下拉选择。
GENDER_CHOICE = ( (u'M', u'Male'), (u'F', u'Female'), )gender = models.CharField(max_length=2,choices = GENDER_CHOICE)用于定义字段的数据库列的名称。
默认为 False,db_index = True 设置该字段为该表单索引。
用于定义字段索引的数据库表空间的名称。
设置允许字段的最大长度。
gender = models.CharField(max_length=2)字段的默认值。
ColName = models.DateTimeField(default = timezone.now)设置 Admin后台中字段的显示名称。
ColName = models.DateTimeField(verbose_name='登记日期')设置字段唯一值,默认Fasle。
address = models.CharField(maxlenth = 50 , unique= True)设置 DateField 或 DateTimeField 要求此字段对于日期字段的值是唯一的。
date = models.DataTimeField(unique= True)设置 DateField 或 DateTimeField 要求此字段对于月份字段的值是唯一的。
month = models.DataField(unique= True)设置 DateField 或 DateTimeField 要求此字段对于年份字段的值是唯一的。
year = models.DataField(unique= True)默认为 True,editable = True 该字段在 Admin 后台可编辑。
#允许覆盖该字段将引发的默认消息。
GENDER_CHOICE = ( (u'M', u'Male'), (u'F', u'Female'), )gender = models.CharField(max_length=2,choices=GENDER_CHOICE,error_messages={"错误类型":"错误原因"})在 Admin 后台中提示帮助信息。
ColName = models.CharField(maxlenth = 10,help_text = '这里是提示信息')用于为字段运行的验证器列表。
def validate_even(value): if '.com' not in value : raise ValidationError( _('不可使用 %(value) 邮箱进行注册'), params={'value': value}, )email = models.EmailField(validators = [validate_even])指明上传的文件防止根目录下的 /upload/ 文件夹下。
file_path = modles.FileField(upload_to = "./upload/")| 留言与评论(共有 0 条评论) “” |