Django之ORM操作(***)
Django之ORM操作(***)
http请求的流程:
url--> 视图view(模板渲染+数据库) -->返回给用户
ORM的功能:
可以转换SQL语句,并做操作。
ORM操作数据表:
-创建表:在models里写class类,生成数据表。class 类名(models.Model):
-修改表:修改字段名,可直接,添加字段,要设为字段为空或设默认值。
age = models.IntegerField(null=True) 设字段内容为空
age = models.IntegerField(default=1) 设字段内容默认
-删除表:
ORM操作数据行:
-增删改查
ORM需要理由pymysql第三方工具连接数据库。
默认连接:
Django默认连接SQlite,SQlite是文件型数据库
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', #连接sqlite 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
ORM连接MySQL的是MySQLDB:
但是,py3里没有MySQLDB,所以要进行修改。修改Django默认连接MySQL方式。
配置数据库:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名称', 'USER':"xxxxx", 'PASSWORD':"xxxxxxx", 'HOST':"连接的主机ip,本地的写localhost,也可以不写", 'PORT':"3306" } }
在项目名中的__init__ .py 加:这样,pymysql就会将内部的MySQLdb替换了。
import pymysql pymysql.install_as_MySQLdb()
注册APP数据库models:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'APPS.apps.AppsConfig', ]
生成数据库:
python manage.py makemigrations
python manage.py migrate
常用命令:
python manage.py runserver 0.0.0.0
python manage.py startapp appname
python manage.py syncdb
创建superuser:
python manage.py createsuperuser
--------- END -----------