Django记录数据库创建、更新、删除操作开源插件推荐
github: django-simple-history
- 安装
$ pip install django-simple-history
- 配置
在Settings中添加
INSTALLED_APPS = [
# ...
'simple_history',
] MIDDLEWARE = [
# ...
'simple_history.middleware.HistoryRequestMiddleware',
]
- 记录
在models中
from django.db import models
from simple_history.models import HistoricalRecords class DbTable(models.Model):
name = models.CharField(max_length=)
history = HistoricalRecords()
- 结果
makemigerations、migerate后会在数据库中生成models中的表和名字是数据表名加log的另外的记录表,对数据表的更改都会有记录。
- 优点
此插件安装配置简单,基本可以满足数据库表简单的记录。
- 缺点
运用到生产环境中会有问题,记录表会将所有数据表的数据都记录会出现冗余。在表格删除某列时记录表也会删除此列若是误操作数据将无法恢复,如果之前更新的正好是被删除的列中数据,记录表中列删除后记录的动作不会更新或删除会产生歧义,即被更新的值已被删除记录表中仍然显示之前时更新操作。
Django记录数据库创建、更新、删除操作开源插件推荐的更多相关文章
- Mysql 数据库 创建与删除(基础2)
创建数据库 语法: 注意:创建数据库时可以指定编码(如: create database mydb123 default charset utf8; ) pyvip@Vip:~$ mysql -uxl ...
- sql server数据库创建、删除,创建表,数据库的sql语句
create database test on primary -- 默认就属于primary文件组,可省略(/*--数据文件的具体描述--*/ name='test', -- 主数据文件的逻辑名称 ...
- MongoDB中的映射,限制记录和记录拼排序 文档的插入查询更新删除操作
映射 在 MongoDB 中,映射(Projection)指的是只选择文档中的必要数据,而非全部数据.如果文档有 5 个字段,而你只需要显示 3 个,则只需选择 3 个字段即可. find() 方法 ...
- MongoDB创建\更新\删除文档操作
一.插入\创建文档 --当插入一个不存在的文档时,会自己主动创建一个文档 [root@racdb ~]# mongo MongoDB shell version: 2.4.14 connecti ...
- 《mongoDB》基本操作-创建/更新/删除文档
一:基本操作 - db; 当前选择的集合(等于数据库名) > db demo - use db_name; 选择你要操作的集合 > use demo switched to db dem ...
- MongoDB(二)创建更新删除文档
插入并保存文档操作 用insert向目标集合插入文档,如果没有_id键则会自动添加.最后自动保存. >db.foo.insert({"bar":"baz" ...
- 2.MongoDB系列之创建更新删除文档
1. 插入文档 // 单条插入 db.getCollection('blog').insertOne({'type': 'mongodb'}) // 批量 插入 db.getCollection('b ...
- mysql数据库创建、删除数据库
一.创建数据库(默认字符集和排序规则) (1)创建数据库 mysql> CREATE DATABASE my_db1; Query OK, 1 row affected (0.00 se ...
- linux的mysql数据库创建和删除
mysql -h localhost -u 用戶名 -p密碼 //连接数据库use desk_show; ...
随机推荐
- 媳妇儿让我给她找一个PDF转word免费工具,找了半天我决定给她写一个出来^-^
之前我媳妇儿让我给她找一个PDF转WORD的免费工具,在网上找了半天发现要不就是收费,要不就是转化的格式混乱.既然网上不能找到好用的免费工具那就直接来写一个吧.人生苦短,我用python. 万能的 ...
- J.U.C体系进阶(一):juc-executors 执行器框架
Java - J.U.C体系进阶 作者:Kerwin 邮箱:806857264@qq.com 说到做到,就是我的忍道! 主要内容: juc-executors 执行器框架 juc-locks 锁框架 ...
- 3.TCP协议
一.TCP协议特点和报文段格式 面向连接的传输层协议 每一条TCP连接只能有两个端点 TCP提供可靠交付的服务,无差错,不丢失,不重复,按序到达 全双工通信 -> 发送缓冲:准备发送的数据&am ...
- 中介者模式(c++实现)
中介者模式 目录 中介者模式 模式定义 模式动机 UML类图 源码实现 优点 缺点 模式定义 中介者模式(Mediator),用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显示地相互引用, ...
- vue-过渡动画和 第三方动画库导入,带图
vue路由过渡动画 //用transition将路由出口包裹起来 <transition name="fade" mode="out-in"> &l ...
- Flutter获取远程数据 刷新UI界面
import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; void main() => r ...
- Mybatis(二)简化Mybatis实现数据库操作
要操作的数据库: 一.与数据库对应的bean类 public class User { private String username; private String sex; private Str ...
- 2018年5月15日临下班前找的一个读取assets下数据库的例子
网页 https://blog.csdn.net/li12412414/article/details/51958774 @Override protected void onCreate(Bun ...
- heredoc
Heredoc在正规的PHP文档中和技术书籍中一般没有详细讲述.他是一种Perl风格的字符串输出技术.使用heredoc技术可以实现界面与代码的准分离,比如phpwind模板.规则如下:1.”< ...
- 解决node 运行接口 出现 Cannot destructure property `us` of 'undefined' or 'null'.
出现 参数是 undefined or null 一.检查是否安装 body-parser server.js中是否引入 app.use(bodyParser.urlencoded({ extende ...