Django修改数据库数据的两种方式

发布时间 2023-10-18 17:08:51作者: wellplayed

部分代码展示:

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()
"""
  逐条字段修改
"""

 

推荐使用——方式一

 

原因:

  • 方式二当字段特别多的时候效率会非常低
  • 方式二的修改方式:
  •   从头到尾将数据的所有字段全部更新一遍 无论该字段是否被修改
  • 方式一的修改方式:
  •   批量修改数据