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':""
}
}
在项目名中的__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 -----------