ORM | DB |
---|---|
类 | 数据表 |
- | - |
对象 | 数据行 |
- | - |
属性 | 字段 |
创建应用
python3 manage.py startapp bookstore
在models.py下编写模型类
class 模型类名(models.Model):
字段名=models.字段类型(字段选项)
迁移同步
#生成模型类
python3 manage.py makemigrations
#同步
python3 manage.py migrate
任何关于表结构的修改,都要在对应的模型类上修改
1、字段类型(Field Type)
BooleanField()->0 1->数据库类型tinyint(1)
CharField()->数据库类型varchar(必须要指定max_lenth参数)
DateField()->时间->数据库类型date 三个参数选一个
DateTimeField()->数据库类型datetime
DecimalField()->数据库类型decimal(x,y)
EmailField() #存电子邮件 - varchar
FloatField()->数据库类型double
ImageField() #存图片路径 - >varchar保存的是路径不是图片
ImageField(upload_to=‘static/***/***’)
IntergerField()->数据库类型int
URLField()
TextField() #存大量文本数据 ->数据库类型longtext
2、字段选项(Field Option)
1、max_length
指定数据的最大长度
在CharField()必须要设置的选项
2、default
为当前字段指定默认值
3、null
指定当前字段是否允许为空,默认值是 false
default 默认值。设置默认值。
primary_key 若为True,则该字段会成为模型的主键字段,默认值是False,一般作为AutoField的选项使用。
unique 如果为True, 这个字段在表中必须有唯一值,默认值是False。
db_index 若值为True, 则在表中会为此字段创建索引(相当于目录),默认值是False。
db_column 字段的名称,如果未指定,则使用属性的名称。
null 如果为True,表示允许为空,默认值是False。
blank 如果为True,则该字段允许为空白,默认值是False。(一般是后台管理处输入是否可为空格等)
verbose_name设置此字段在admin界面上显示的名称
Meta类针对表的模型类
class Meta:
db_table = 'author'
ORM创建数据