[内容] Django 单表数据的修改 (MariaDB 版)

注意:

1) 在修改 Django MariaDB&MySQL 数据之前要先创建连接了 MariaDB 数据库或 MySQL 数据库的 Django 项目

2) 对于本文而言,必须要先完成内容一里的内容,再完成内容二里的内容,才能继续完成内容三里的内容

正文:

内容一:配置 Django 环境

1.1 进入 Python 环境

(django_env) [root@python mysite]# python3

1.2 引入 os 模块和 django 模块

>>> import os,django

1.3 调用 mysite.settings 的配置

>>> os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
'mysite.settings'

1.4 让刚刚的调用生效

>>> django.setup()

1.5 调用 mysite 项目 movies 应用 models 模块里的所有内容

>>> from movies.models import *

内容二:设置一个显示上一句 SQL 语句的函数

>>> def showsql():
...     from django.db import connection
...     print(connection.queries[-1]['sql'])

(补充:这里的 [-1] 是指显示上一条操作的 SQL 语句)

内容三:Django MariaDB&MySQL 数据的修改

3.1 方法一

3.1.1 方法一修改数据的操作
>>> newitem = Movies.objects.last()
>>> newitem.mname='newtest'
>>> newitem.save()


补充:这里以
1) 将 movies 表里最后一条数据的
2) mname 字段的值修改为 newtest
3) mdesc 字段的值修改为 Animation, UHD, Dolby Vision,Dolby Atmos
4) mimg 字段的值修改为 eternalcenter.com/news/image
5) mlink 字段的值修改为 eternalcenter.com/news
为例

3.1.2 显示方法一修改数据的 SQL 语句
>>> showsql()
UPDATE `movies` SET `mname` = 'newtest', `mdesc` = 'Animation, UHD, Dolby Vision,Dolby Atmos', `mimg` = 'eternalcenter.com/news/image', `mlink` = 'eternalcenter.com/news' WHERE `movies`.`mid` = 5


补充:这里以
1) 将 movies 表里最后一条数据的
2) mname 字段的值修改为 newtest
3) mdesc 字段的值修改为 Animation, UHD, Dolby Vision,Dolby Atmos
4) mimg 字段的值修改为 eternalcenter.com/news/image
5) mlink 字段的值修改为 eternalcenter.com/news
为例

3.2 方法二

3.2.1 方法二修改数据的操作
>>> Movies.objects.filter(mid=5).update(mname='newtest2')
1

(补充:这里以将 movies 表里 mid 字段等于 5 的 mname 字段修改为 newtest2 为例)

3.2.2 显示方法二修改数据的 SQL 语句
>>> showsql()
UPDATE `movies` SET `mname` = 'newtest2' WHERE `movies`.`mid` = 5

(补充:这里以将 movies 表里 mid 字段等于 5 的 mname 字段修改为 newtest2 为例)