Django修改数据库数据的两种方式
部分代码展示:
from django.shortcuts import render, HttpResponse, redirect
from app01 import models
def edit_user(request): # 获取url问好后面的参数 edit_id = request.GET.get('user_id')
# 查询当前用户想要编写的数据对象 edit_obj = models.User.objects.filter(id=edit_id).first()
if request.method == 'POST': username = request.POST.get('username') password = request.POST.get('password')
- 以上代码欲修改数据库内含数据 username 和 password 字段的内容
以下是两种修改方式:
方式一:
# 方式1
models.User.objects.filter(id=edit_id).update(username=username,password=password)
"""
将filter查询出来的列表中所有对象全部更新 ———— 批量更新操作
只修改被修改的字段
"""
方式二:
# 方式2 edit_obj.username = username edit_obj.password = password edit_obj.save()
"""
逐条字段修改
"""
推荐使用——方式一
原因:
方式二当字段特别多的时候效率会非常低 方式二的修改方式: 从头到尾将数据的所有字段全部更新一遍 无论该字段是否被修改 方式一的修改方式: 批量修改数据