Django 的orm模型
配置方法
a. 需要创建一个数据库
b. settings中配置连接:
DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3', ### 非常小型的文件数据库
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test', ## 数据库名称
'USER': 'root',
'PASSWORD': '', ## 安装 mysql 数据库时,输入的 root 用户的密码
'HOST': '127.0.0.1',
}
}
c. 在对应的app中的__init__文件下面:
import pymysql
pymysql.install_as_MySQLdb()
d. INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01',
'classes'
]
orm的增删改查
1.创建表
from django.db import models
# Create your models here.
### 一个类对应一张表
class UserInfo(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=32, null=True)
age = models.CharField(max_length=32, null=True)
将类转换成实际的表:
python manage.py makemigrations ### 生成迁移文件
python manage.py migrate ### 生成实际的表
2.单表查询
a.正常模式查询
from app1 import models
res = models.user表.objectsa.all()
for item in res:
print(item.name)
print(item.age)
#返回的是一个 对象,可以用for循环取值
b.通过values
res = models.user.objects.values('user','age') #返回的是一个[{'user':'egg','age':18}]
res = models.user.objects.values_listr('user','age') #返回的是ige[(值,值)]
c. first
d.双下划线
e.增加数据 create
f.删除 delete
g.更新 update
h.条件判断 filter