1、BooleanField()--对应数据库tinyint(1),true/false
2、CharField()--对应数据库varchar(长度)
3、DateField()--对应数据库date,参数:下面三个参数只能选一个 (auto_now每次更新数据自动改为最新时间) (auto_now_add数据第一次创建,设置为当前时间) (default设置时间,字符串:‘2021-08-08’)
4、DateTimeField--对应数据库datetime(6),参数同DateField
5、DecimalField--对应数据库decimal(x,y),使用小数表示,参数(总位数,小数点后的数字)
6、EmailField()--对应数据库varchar,Django封装的专门存邮箱的字段名
7、IntegerField()--对应数据库int
8、ImageField()--对应数据库varchar,默认存到项目某个文件夹下
9、TextField()--对应数据库longtext
class Book(models.Model):
title = models.CharField('书名', max_length=50, default='', unique=True)
pub = models.CharField('出版社', max_length=100)
price = models.DecimalField('图书定价', max_digits=7, decimal_places=2)
market_price = models.DecimalField('图书零售价', max_digits=7, decimal_places=2, default=0.0)
infor = models.CharField('信息', max_length=100, default='')
# 重新修改数据库表名,修改表结构后要使用python3 manage.py makemigrations,再使用更新python3 manage.py migrate
class Meta:
db_table = 'book'
# 格式化输出
def __str__(self):
return '%s %s %s %s' % (self.title, self.pub, self.price, self.market_price)
class Author(models.Model):
name = models.CharField('姓名', max_length=11, null=False)
age = models.ImageField('年龄', default=1)
email = models.EmailField('邮箱', null=True)
class Meta:
db_table = 'author'
注意:重新修改数据库表名,修改表结构后要使用python3 manage.py makemigrations,再使用更新python3 manage.py migrate
版权声明:本文为LINGK98原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。