Django用类的形式操作数据库

本文介绍如何使用Django ORM进行数据库配置、模型定义、数据查询与更新等操作,适用于初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用类(函数)的形式来操作数据库不容易出错, 方便, 快捷.


一: 在settings.py文件中, 进行配置

# 配置mysql数据

: 只需将原本的重写即可

DATABASES = {

        'default': {

                # 使用的数据库类型

                'ENGINE': 'django.db.backends.mysql',

                # 使用的数据库名称

                'NAME': '数据库名称',

                # 连接数据库用户名

                'USER': '用户名',

                'PASSWORD': '密码',

                'HOST': '地址'

        }

}


二: 在models.py文件中

1> 自定义类

# 建立数据模型

# 继承自models.Model数据模型基类

class Message(models.Model):

: 如果不创建主键, 系统会自己创建

        # IntegerField: 整数类型

        # default: 默认值

        # primary_key=True: 设置主键

       # null=False, blank=True: 字段数据非空

        ID = models.IntegerField(default=0, primary_key=True, null=False)

        # max_lenght: 指定长度

        name = models.CharField(max_lenght=20, null=False)

        class Meta:

               # 声明表名称

                db_table = 'message'

   

2> 运行

打开run manage.py task, 执行makemigrations, 生成数据库变更文件

执行migrate命令, 执行数据库变更文件




: 如果需要对数据库模型做修改, 要先执行makemigrations生成数据模型变更文件, 在执行migrate执行变更文件(一定)


三: 在app下的views.py文件中

1> 引入写好的类

from .models import MesModel


2> 操作数据库

# 查询数据库所有数据, 是一个列表, 列表中存放数据对象

MesModel.objects.all()


# get()获取一个指定条件的对象

MesModel.objects.get(字段名='值')


# 更改数据

msg = MesModel.objects.get()

msg.字段名 = '新值'


# 保存

msg.save()


# 根据条件筛选多条数据

# id__gt: 大于  id__lt: 小于  id__gte: 小于等于

# id__lte: 小于等于

# 双下划线

MesModel.objects.filter(id__gt=1)


# 删除数据

MesModel.object.get(id=1).delete()


# 创建对象之后, 会将对象的信息直接保存到数据库

MesModel.objects.create(字段名='值', 字段名='值', ......)


# 创建对象, 再给对象属性赋值, 如需保存需要调用save()函数

msg = MesModel(字段名='新值', ......)

msg.save( )


# get_or_create 先获取是否有该数据, 如果没有在进行添加

# 返回结果是一个元组, 元组中存放创建的对象, 创建结果True/False


实例:









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

她最爱橘了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值