Django基于ORM方法对数据库的操作(基本架构与创建数据)
settings中的installed_app中去注册这个app(如果存在)
python manage.py makemigration 将models.py的改动上传到migrations文件夹下
python manage.py migrate 将文件夹下的增量文件传入数据库的migration表中,视作一次改动
以mysql为例对settings.py作如下修改(都是str类型的),默认是sqlite3
ENGINE ‘django db backends. mysql
NAME: helloapp
HOST:127.0.0.1
PORT:3306
USER: root
PASSWORD:Cba4579136
Meta内部类可以改表名(配合db_table)
常用的ORM数据类型:
BooleanField:对应数据库类型tinyint(1)
在数据库中为1,0在python中为True False
CharField:对应数据库varchar(n)
指定max_length=n
DateField:对应数据库date,以下参数多选一
auto now:每次保存对象时,自动设置该字段为当前时间(取值True/False)
auto now add:当对象第一次被创建时自动设置当前时间(取值:True/False)
default:设置当前时间(取值字符串格式时间如’2019-6-1′)
DateTimeField
数据库类型 datetime(6)
作用表示日期和时间
参数同 Date Field
FloatField
数据库类型 double
编程语言中和数据库中都使用小数表示值
Decimal Field
数据库类型 decimal(x,y)
编程语言中使用小数表示该列的值
在数据库中:使用小数
参数max_digits:位数总数,包括小数点后的位数。该值必须大于等于decimal_places
decimal_places:小数点后的数字数量
Email Field数据库类型 varchar
编程语言和数据库中使用字符串.并不是后台的逻辑监测
IntegerField数据库类型:int
编程语言和数据库中使用整数
Image Field
数据库类型 varchar(100)
作用在数据库中为了保存图片的路径
编程语言和数据库中使用字符串
Text Field
数据库类型 longtext作用表示不定长的字符数据
每次修改models内部的配置需要一次makemigrations与migrate提交修改到数据库,而makemigration与migrate的前提是数据库中需要与app同名的数据库存在pri
数据项字段
primary_key设置主键
blank表示字段可以为空(不是null是””)
null表示字段可以为null
default设置默认值
db_index为该列增加索引
unique表示值必须唯一
db_column指定列名,不指定的话属性名作为类名
使用python manage.py shell可以打开shell工具控制数据库创建数据
首先要from appname.models import *
然后使用classname.objects.create(属性1=值1…..)创建一条数据
或者obj1=classname(属性1=值1…)
obj1.属性2=值2
obj1.save()才算提交信息
Comments NOTHING