一、ORM配置
1、创建数据库
2、/settings.py 中设置
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'test','USER': 'root','PASSWORD': 'root','HOST': '127.0.0.1','PORT': '3306', } }
3、/__init__.py中配置
import pymysql pymysql.install_as_MySQLdb()
二、ORM创建表
1、/app01/models.py中创建表,一个类就是一个表,类名即表名,如创建外键django将会在设置字段名字的后面多加一个‘_id’
from django.db import modelsclass UserGroup(models.Model):"""部门表"""title = models.CharField(max_length=32)class UserInfo(models.Model):"""员工表"""# nid = models.BigAutoField(primary_key=True) #默认自动创建,可以不写user = models.CharField(max_length=32) password = models.CharField(max_length=64)# age = models.IntegerField(null=True)age = models.IntegerField(default=1) ug = models.ForeignKey('UserGroup', null=True, on_delete=models.CASCADE)# 创建UserGroup表的外键
2、/settings.py注册app
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','app01.apps.App01Config', #注册app]
3、创建数据库表,在控制台输入
python manage.py makemigrations python manage.py migrate
# 这样就会在数据库中创建需要的表和字段
4、4
5、5
6、
三、数据库相关操作(增删改查)/app01/views.py
1、增加记录/app01/views.py,给两张表中各增加一条记录
models.UserGroup.objects.create(title='销售部') #这就增加到表里了models.UserInfo.objects.create( user='root', password='pwd', age=19, ug_id=1)
2、查找记录,查找两张表中的所有记录
models.UserGroup.objects.all() models.UserInfo.objects.all()
(1) 、查看一下查出来的信息group_list QuerySet类型(列表)
group_list=models.UserGroup.objects.all()print(group_list)
输出结果,是一个列表行的对象
[13/Mar/2021 23:59:01] "GET /app01/index.html HTTP/1.1" 200 3 <QuerySet [<UserGroup: UserGroup object (1)>, <UserGroup: UserGroup object (5)>]>
要想获取到真正的值,需要for循环
group_list=models.UserGroup.objects.all()print(group_list)for row in group_list:print(row.id,row.title)
输出结果:
<QuerySet [<UserGroup: UserGroup object (1)>, <UserGroup: UserGroup object (5)>]> 1 销售部5 销售部
让newindex.html 渲染一下拿到内容
def index(request):# 增删改查from app01 import models#查询group_list=models.UserGroup.objects.all()print(group_list)for row in group_list:print(row.id,row.title) models.UserInfo.objects.all()return render(request,'newindex.html',{'group_list':group_list})
输出结果:
1===销售部 5===销售部
(2) 、查询,加条件,此时两个条件之间是 ’and’
group_list=models.UserGroup.objects.filter(id=1,title='销售部')
(3) 、查询,加条件,id__gt=1 表示id大于1;; id__lt=5表示id小于5
group_list=models.UserGroup.objects.filter(id__gt=1) group_list=models.UserGroup.objects.filter(id__lt=5)
(4) 3
(5)
3、删除记录
删除 UserGroup表中 id=5的记录
models.UserGroup.objects.filter(id=5).delete()
4、修改记录
models.UserGroup.objects.filter(id=5).update(title='公关部')
总结一下
models.UserGroup.objects.create(title='销售部') #增 models.UserGroup.objects.filter(id=5).delete() #删 models.UserGroup.objects.filter(id=5).update(title='公关部') #改 group_list=models.UserGroup.objects.filter(id=1,title='销售部') #查 group_list=models.UserGroup.objects.filter(id__gt=1) #查 group_list=models.UserGroup.objects.filter(id__lt=5) #查