一、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) #查