当前位置: 首页 > news >正文

Django框架之模型shell工具和查看MySQL数据库日志

shell工具和查看MySQL数据库日志

1 shell工具

Django的manage工具提供了shell命令,帮助我们配置好当前工程的运行环境(如连接好数据库等),以便可以直接在终端中执行测试python语句。

通过如下命令进入shell

python manage.py shell

 

 

导入两个模型类,以便后续使用

from book.models import BookInfo,PeopleInfo

2 查看MySQL数据库日志

查看mysql数据库日志可以查看对数据库的操作记录。 mysql日志文件默认没有产生,需要做如下配置:

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

 

 

把68,69行前面的#去除,然后保存并使用如下命令重启mysql服务。

sudo service mysql restart

使用如下命令打开mysql日志文件。

tail -f /var/log/mysql/mysql.log  # 可以实时查看数据库的日志内容
# 如提示需要sudo权限,执行
# sudo tail -f /var/log/mysql/mysql.log

数据库操作-增、删、改

1 增加

增加数据有两种方法。

1)save

通过创建模型类对象,执行对象的save()方法保存到数据库中。

>>> from book.models import BookInfo,PeopleInfo
>>> book = BookInfo(
...         name='python入门',
...         pub_date='2010-1-1'
...     )
>>> book.save()
>>> book
<BookInfo: python入门>

 

 

2)create

通过模型类.objects.create()保存。

>>> PeopleInfo.objects.create(
...         name='itheima',
...         book=book
...     )
<PeopleInfo: itheima>

2 修改

修改更新有两种方法

1)save

修改模型类对象的属性,然后执行save()方法

>>> person = PeopleInfo.objects.get(name='itheima')
>>> person.name = 'itcast'
>>> person.save()
>>> person
<PeopleInfo: itcast>

2)update

使用模型类.objects.filter().update(),会返回受影响的行数

>>> PeopleInfo.objects.filter(name='itcast').update(name='传智播客')
1

 

 

3 删除

删除有两种方法

1)模型类对象delete

>>> person = PeopleInfo.objects.get(name='传智播客')
>>> person.delete()
(1, {'book.PeopleInfo': 1})

2)模型类.objects.filter().delete()

>>> BookInfo.objects.filter(name='python入门').delete()
(1, {'book.BookInfo': 1, 'book.PeopleInfo': 0})

 

http://www.lryc.cn/news/7344.html

相关文章:

  • 电脑录屏怎样不录到外界声音?调整这一个开关,即可实现
  • 无需登录复制网站文字的解决方案
  • ccc-Tips for Deep Learning-李宏毅(8)
  • ArkUI新能力,助力应用开发更便捷
  • vue面试题大全
  • P1307 [NOIP2011 普及组] 数字反转
  • 【服务器数据恢复】NetApp存储无法访问的数据恢复案例
  • (考研湖科大教书匠计算机网络)第四章网络层-第三节2:分类编址的IPv4地址
  • Allegro移动器件时附带的孔和线被同步更改的原因和解决办法
  • 工程监测多通道振弦模拟信号采集仪VTN参数修改
  • 【算法】差分
  • 【LeetCode】剑指 Offer(1)
  • linux rancher 清理docker容器磁盘空间
  • 移动端兼容性问题集锦
  • 【Spark分布式内存计算框架——Spark SQL】4. DataFrame(上)
  • GPS通信
  • Java高频面试题,ReentrantLock 是如何实现锁公平和非公平性的?
  • 「JVM 原理使用」 实际开发中的应用
  • 最最普通程序员,如何利用工资攒够彩礼,成为人生赢家
  • 脏话越多,代码越好!
  • 【Node.js】模块化
  • 训练一个中文gpt2模型
  • python文件头规范和函数注释自动生成(pycharm)
  • Fluent Python 笔记 第 17 章 使用 future 处理并发
  • Android进阶之路 - StringUtils、NumberUtils 场景源码
  • 装备制造业数字化转型CRM系统解决方案(信息图)
  • CGAL 二维剖分
  • node.js+vue婚纱影楼摄影婚庆管理系统vscode项目
  • C语言 指针的新理解
  • 【向每个应用View中增加子控件 Objective-C语言】