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访问纯真IP数据库的代码
May 19 Python
使用Python的Twisted框架实现一个简单的服务器
Apr 16 Python
剖析Python的Tornado框架中session支持的实现代码
Aug 21 Python
详解python 发送邮件实例代码
Dec 22 Python
详解python中requirements.txt的一切
Mar 03 Python
Python面向对象程序设计构造函数和析构函数用法分析
Apr 12 Python
python可视化爬虫界面之天气查询
Jul 03 Python
python实现一个点绕另一个点旋转后的坐标
Dec 04 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
Aug 07 Python
完美处理python与anaconda环境变量的冲突问题
Apr 07 Python
Pytorch 如何加速Dataloader提升数据读取速度
May 28 Python
浅谈Python数学建模之固定费用问题
Jun 23 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开发中四种查询返回结果分析
2011/01/02 PHP
php基础教程 php内置函数实例教程
2012/08/21 PHP
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
PHP生成图片缩略图类示例
2017/01/12 PHP
javascript中常用编程知识
2013/04/08 Javascript
Javascript玩转继承(一)
2014/05/08 Javascript
js监听鼠标事件控制textarea输入字符串的个数
2014/09/29 Javascript
Node.js中安全调用系统命令的方法(避免注入安全漏洞)
2014/12/05 Javascript
JQuery右键菜单插件ContextMenu使用指南
2014/12/19 Javascript
javascript实现禁止右键和F12查看源代码
2014/12/26 Javascript
JS+CSS实现滑动切换tab菜单效果
2015/08/25 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
微信小程序 前端源码逻辑和工作流详解
2016/10/08 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
2016/11/17 Javascript
BootStrap模态框和select2合用时input无法获取焦点的解决方法
2017/09/01 Javascript
如何利用nodejs自动定时发送邮件提醒(超实用)
2020/12/01 NodeJs
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
python错误处理详解
2014/09/28 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
Python的缺点和劣势分析
2019/11/19 Python
python的setattr函数实例用法
2020/12/16 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
2021/03/03 Python
HTML5 直播疯狂点赞动画实现代码 附源码
2020/04/14 HTML / CSS
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
聘用意向书范本
2014/04/01 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
体育运动口号
2014/06/09 职场文书
师范生求职信
2014/06/14 职场文书
教师个人读书活动总结
2014/07/08 职场文书
项目合作意向书模板
2014/07/29 职场文书
创先争优活动党员公开承诺书
2014/08/29 职场文书
四风查摆问题自查报告
2014/10/10 职场文书
农民工工资承诺书大全
2015/05/04 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
Vue Element plus使用方法梳理
2022/12/24 Vue.js