Django用类的形式操作数据库

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


一: 在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


实例:









猜你喜欢

转载自blog.csdn.net/qq_41664526/article/details/80055276