我也是刚开始接触Django,本文只尽量详细记载Django中常用的models模型类型,如有错误,请指正,欢迎提供各种建议,必虚心受教。
-
AutoField
自动增长的IntegerField,通常不用指定,不指定时Django会自动创建属性名为id的自增字段。
AutoField必需参数:无
-
BooleanField
布尔字段,值为True或False,默认为False。
BooleanField参考:
from django.db import models
class Test(models.Model):
# 默认为False
is_delete = models.BooleanField()
# 默认设置为True
is_delete = models.BooleanField(default=True)
-
CharField
字符串字段类型
CharField参考:
from django.db import models
class Test(models.Model):
# 必需参数:max_length
# 定义CharField必需使用max_length指定字段长度
user = models.CharField(max_length=30)
-
IntegerField
整数类型,安全值范围:[-2147483648----
2147483647
]
IntegerField参考:
from django.db import models
class Test(models.Model):
money = models.IntegerField()
-
DecimalField
固定精度十进制数字,在 Python 中以十进制表示。它使用十进制验证器验证输入。
DecimalField参考:
from django.db import models
class Test(models.Model):
# max_digits:数字中允许的最大位数,此数字必须大于等于decimal_places
# decimal_places:存储的小数位数。
money = models.DecimalField(max_digits=10,decimal_places=2)
-
DateField
日期类型
DateField参考:
from django.db import models
class Test(models.Model):
# auto_now_add:在首次创建对象时,自动将字段设置为现在。可用于创建时间戳。
create_date = models.DateField(auto_now_add=True)
# auto_now:每次保存对象时,自动将字段设置为现在。可用于"上次修改"时间戳。
modify_date = models.DateField(auto_now=True,auto_now_add=True)
-
DateTimeField
日期和时间类型
DateTimeField参考:
from django.db import models
class Test(models.Model):
# auto_now_add:在首次创建对象时,自动将字段设置为现在。可用于创建时间戳。
create_date = models.DateTimeField(auto_now_add=True)
# auto_now:每次保存对象时,自动将字段设置为现在。可用于"上次修改"时间戳。
modify_date = models.DateTimeField(auto_now=True,auto_now_add=True)
-
FileField
文件上传路径
from django.db import models
class Test(models.Model):
# 文件会保存在 MEDIA_ROOT/uploads
upload = models.FileField(upload_to='uploads/')
# 文件保存在 MEDIA_ROOT/uploads/2015/01/30
upload = models.FileField(upload_to='uploads/%Y/%m/%d/')
来源:CSDN
作者:djmtom
链接:https://blog.csdn.net/djmtom/article/details/104557187