创建模型类流程
1.创建应用
2.在应用下的models.py中编写模型类
from django.db import models
class 模型类名(models.Model):
字段名 = models.字段类型(字段选项)
3.迁移同步 makemigrations & migrate
任何关于表结构的修改,务必在对应模型类上修改
例子:为bookstore_book表添加一个名为info的字段varchar(100)
解决方法:
模型类中添加对应的类属性
执行数据库迁移
模型类 --- 字段类型
BooleanField()
数据库类型:tinyint(1)
编程语言中:使用True或False来表示值
在数据库中:使用1或0来表示具体的值
CharField()
数据库类型:varchar
!必须要指定max_length参数值
DateField()
数据库类型:date
作用:表示日期
参数;
DateTimeField()
数据库类型:datetime(6)
作用:表示日期和时间
参数同DateField
FloatField()
数据库类型:double
编程语言中和数据库都使用小时表示值
DecimalField()
数据库类型:decimal(x,y)
编程语言中:使用小数表示该列的值
在数据库中:使用小数
参数:
max_digits:位数总数,包括小数点后的位数,该值必须大于等于decimal_places.
decimal_places:小数点后的数字数量
EmailFiled()
数据库类型:varchar
编程语言和数据库中使用字符串
IntegerField()
数据库类型:int
编程语言和数据库中使用整数
ImageFiled()
数据库类型:varchar(100)
作用:在数据库中位列保存图片的路径
编程语言和数据库中使用字符串
TextField()
数据库类型:longtext
作用:表示不定长的字符数据
练习:
在bookstore_book应用中添加一个模型类author 字段有name,age,email
模型类 --- 字段选项
字段选项:指定创建的列的额外的信息,允许出现多个字段选项,多个选项之间使用逗号隔开
primary_key:如果设置为True表示该列为主键,如果指定一个字段为主键,则改该数据表不会创建id字段
bank:设置为True时,字段可以为空,设置为False时字段是必须要填写的
null:如果设置为TRUE表示该值允许为空,默认为false
default:设置所在列的默认值,如果字段选项null= false建议添加此项
db_index:如果设置为true表示为该列增加索引
unique:如果设置为true表示该字段在数据库中的值是唯一的
db_column:指定该列的名称,如果不指定的话采用属性名作为列名
verbose_name:设置此字段在admin界面上的显示名称
模型类 --- Meta类
使用内部Meta类来给模型赋予属性,Meta类下有很多内建的类属性,科对模型类做一些控制