关系对象映射ORM(Object Ralational Mapping)
-
安装pymysql
pip install pymysql
-
修改配置文件
在setting里加入DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'dj_jobapp', 'USER':'root', 'PASSWORD':'123456', 'HOST':'127.0.0.1', 'POST':'3306' } }
-
在主文件的__init__文件下
import pymysql pymysql.install_as_MySQLdb()
-
设置子模块下的models文件
from django.db import models class userinfo(models.Model): # 自增长的主键 id=models.AutoField(primary_key=True) tel=models.CharField(max_length=30) pwd=models.CharField(max_length=30) pub_time=models.DateTimeField()
-
在命令行下执行
python manage.py makemigrations #生成表格 python manage.py migrate #查看数据库,会看见user_userinfo表
数据库操作
-
插入数据
user={"tel":"1123456","pwd":"123456"} res=models.userinfo.objects.create(**user) #返回的是一个对象,可以直接点出他的属性 print(res.id)
-
查询数据
#查询所有数据,返回的是对象列表 users=models.userinfo.objects.all() for user in users: print(user.id) #查询部分列,获取的是json列表 users=models.userinfo.objects.all().values("id","tel") print(list(users)) return JsonResponse(list(users),safe=Fales)
-
条件查询
users=models.userinfo.object.filter(tel='123456',pwd='123456') #可以通过它的长度判断数据是否存在 print(len(users))
-
删除
#删除特定条件的数据 rows=models.job.objects.filter(id=id).delete() # 返回值(1, {'job.job': 1}) print(rows)
-
更新
rows=models.job.objects.filter(id=id).update(pwd='111111') #修改成功输出1 print(rows)