django-ORM连接数据库

发布时间 2023-05-04 13:33:41作者: luckylu1983

ORM连接数据库

一、安装第三方插件mysqlclient

1.客户端安装

pip install mysqlclient

2.Pycharm安装

 

二、连接数据库

1.settings设置

数据库配置文档参考:Settings | Django documentation | Django (djangoproject.com)

 

 三、操作数据库表结构

1.创建表结构

1.1 在models.py中操作编写类

from django.db import models

# Create your models here.


class user_info(models.Model):
    name=models.CharField(max_length=32)
    password=models.CharField(max_length=64)
    mobile=models.integer_field(default=11)

 1.2 在终端执行命令

python manage.py makemigrations
python manage.py migrate

 1.3 运行结果

 

2.删除表结构

2.1 在models.py中操作编写类:将不需要的字段注释或者删除。

from django.db import models

# Create your models here.


class user_info(models.Model):
    name=models.CharField(max_length=32)
    password=models.CharField(max_length=64)
    #  mobile=models.integer_field(default=11)

2.2  在终端执行命令

python manage.py makemigrations
python manage.py migrat

2.3  运行结果

 

3.修改表结构

 3.1 在models.py中操作编写类

from django.db import models

# Create your models here.


class user_info(models.Model):
    name=models.CharField(max_length=32)
    password=models.CharField(max_length=64)
    # mobile=models.IntegerField()
    age=models.IntegerField(default=2)  #新增列的 default 默认值 为2
    # age=models.IntegerField(null=True,blank=True)  #允许为空

3.2 在终端执行命令

python manage.py makemigrations
python manage.py migrat

3.2 运行结果

 

 四、操作数据库表中的数据

4.1  增加数据

4.1.1  在urls中创建路由

 

4.1.2  在views.py中操作编写代码

# 导入APP001 中的 models 
from app001 import models
def orm(request):
    models.UserInfo.objects.create(name='AAA',password='root123')
    models.Departments.objects.create(title='运营部')
    return HttpResponse("成功")

4..1.3  在浏览器中执行

4. 1.4 输出结果

 

4.2  删除数据

4.2.1  在views.py中编写代码

# 导入APP001 中的 models
from app001 import models
def orm(request):
    # 新增
    # models.UserInfo.objects.create(name='AAA',password='root123')
    # models.Departments.objects.create(title='运营部')

    # 删除
    models.UserInfo.objects.filter(id=8).delete()  # 删除 id=8的数据
    # models.UserInfo.objects.all().delete()  # 删除所有数据

    return HttpResponse("成功")

 

4.2.2 浏览器中执行命令

4.2.3 输出结果

 

 

4.3  获取数据

得到的是query set类型的数据,相当于列表。