day51ORM创建 27+44+47
创jango
1> sqlite
django默认使用sqlite的数据库,默认自带sqlite的数据库驱动 , 引擎名称:django.db.backends.sqlite3
要使用mysql,就要修改settings配置
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'books', #你的数据库名称 'USER': 'root', #你的数据库用户名 'PASSWORD': '', #你的数据库密码 'HOST': '', #你的数据库主机,留空默认为localhost 'PORT': '3306', #你的数据库端口 } }
然后把sqlite的注释掉
第二步
设置完后,再启动我们的Django项目前,我们需要激活我们的mysql。 然后,启动项目,会报错:no module named MySQLdb 这是因为django默认你导入的驱动是MySQLdb,可是MySQLdb对于py3有很大问题,所以我们需要的驱动是PyMySQL 所以,我们只需要找到项目名文件下的__init__,在里面写入: import pymysql pymysql.install_as_MySQLdb()
在models.py里面写类,一个类就是一个表
终端运行python manage.py migrations 和python manage.py migrate 生成表格
在url里面写路径,对应views里面函数,一个函数对应一个htlm文件
在views 函数里面操纵表格里面需要调用 from 项目名.modls import*
最后开端口
python manage.py runserver 8080
一对多表
表添加方式一:实例化
re= Book(name='python基础',price="99",author='SB',pub_date='2018-1-11')
re.save()
表格添加方式二:
Book.objects.create(name='老男孩',price="99",author='SB',pub_date='2018-1-11')
表格修改:
Book.objects.filter(id=3).update(title="PHP")
打印ok.objects.filter(author=SB)是一个集合QuerySet [<Book: Book object (1)>
update是QuerySet对象的方法,get返回的是一个model对象,它没有update方法,而filter返回的是一个QuerySet对象(filter里面的条件可能有多个条件符合
以后用update
表格删除
Book.objects.filter(name='老男孩').delete()