django初始化数据库的实例


Posted in Python onMay 27, 2018

最近项目需要,需要在表创建好之后,初始化一些数据。Django初始化数据的方法有很多,但都需要额外的手动操作,不智能。

看网上有一种方法用post_syncdb信号来初始化数据库,但是我用的Django版本是1.8, 使用python manage.py migrate来同步数据库,不使用Python manage.py syncdb来同步数据库,就想看看能否使用post_migrate信号来初始化数据库。研究了Django的signal,试了一下,果然可以。

在你的APP目录下,创建一个文件management.py

from django.db.model.signal import post_migrate
from myapp.models import MyModel

#定义receiver函数
def init_db(sender, **kwargs):
 if sender.name == 'MyModel.__name__':
  if not MyModel.objects.exists():
   MyModel.objects.create()  # 当发送信号的模型是你要初始化的模型的时候,在进行数据库操作,不加判断的话,每一个模型都会调用

post_migrate.connect(init_db)

这样就好了,你执行Python manage.py migrate 之后,就会初始化数据。

以上这篇django初始化数据库的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
May 23 Python
python使用Image处理图片常用技巧分析
Jun 01 Python
python爬虫实战之最简单的网页爬虫教程
Aug 13 Python
Python分析学校四六级过关情况
Nov 22 Python
python+pillow绘制矩阵盖尔圆简单实例
Jan 16 Python
Python cookbook(数据结构与算法)保存最后N个元素的方法
Feb 13 Python
Python sklearn KFold 生成交叉验证数据集的方法
Dec 11 Python
python:接口间数据传递与调用方法
Dec 17 Python
20行python代码的入门级小游戏的详解
May 05 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
Aug 02 Python
浅析Python 序列化与反序列化
Aug 05 Python
python 将列表里的字典元素合并为一个字典实例
Sep 01 Python
django 删除数据库表后重新同步的方法
May 27 #Python
Django 根据数据模型models创建数据表的实例
May 27 #Python
Django使用Mysql数据库已经存在的数据表方法
May 27 #Python
django中模板的html自动转意方法
May 27 #Python
Django读取Mysql数据并显示在前端的实例
May 27 #Python
django加载本地html的方法
May 27 #Python
《与孩子一起学编程》python自测题
May 27 #Python
You might like
php设计模式之单例模式代码
2016/06/11 PHP
一个不错的用JavaScript实现的UBB编码函数
2007/03/09 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
jQuery Validate让普通按钮触发表单验证的方法
2016/12/15 Javascript
JS中把函数作为另一函数的参数传递方法(总结)
2017/06/28 Javascript
Vue按需加载的具体实现
2017/12/02 Javascript
从parcel.js打包出错到选择nvm的全部过程
2018/01/23 Javascript
vue better scroll 无法滚动的解决方法
2018/06/07 Javascript
学习React中ref的两个demo示例
2018/08/14 Javascript
Vue在页面数据渲染完成之后的调用方法
2018/09/11 Javascript
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
validform表单验证的实现方法
2019/03/08 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
vue 重塑数组之修改数组指定index的值操作
2020/08/09 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
[01:11:37]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第一场 11.19
2020/11/19 DOTA
从零学Python之入门(三)序列
2014/05/25 Python
python+opencv+caffe+摄像头做目标检测的实例代码
2018/08/03 Python
Python tkinter的grid布局及Text动态显示方法
2018/10/11 Python
Python弹出输入框并获取输入值的实例
2019/06/18 Python
django 捕获异常和日志系统过程详解
2019/07/18 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
python安装scipy的步骤解析
2019/09/28 Python
python 爬取B站原视频的实例代码
2020/09/09 Python
最新Python idle下载、安装与使用教程图文详解
2020/11/28 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
车工岗位职责
2013/11/26 职场文书
解除劳动合同协议书范本
2014/09/13 职场文书
婚礼答谢礼品
2015/01/20 职场文书
2015年世界无烟日活动方案
2015/05/04 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
如何书写授权委托书?
2019/06/25 职场文书
Win11怎样将锁屏账户头像图片改成动画视频
2021/11/21 数码科技
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫