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 相关文章推荐
Django框架下在URLconf中指定视图缓存的方法
Jul 23 Python
Pycharm学习教程(2) 代码风格
May 02 Python
Python序列化基础知识(json/pickle)
Oct 19 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
Feb 03 Python
pandas中去除指定字符的实例
May 18 Python
Python+pandas计算数据相关系数的实例
Jul 03 Python
python中的json总结
Oct 11 Python
python 构造三维全零数组的方法
Nov 12 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
Apr 26 Python
django项目简单调取百度翻译接口的方法
Aug 06 Python
Python实现朴素贝叶斯的学习与分类过程解析
Aug 24 Python
上手简单,功能强大的Python爬虫框架——feapder
Apr 27 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使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
php上传中文文件名乱码问题处理方案
2015/02/03 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
laravel5创建service provider和facade的方法详解
2016/07/26 PHP
lnmp安装多版本PHP共存的方法详解
2018/08/02 PHP
PHP bin2hex()函数基础实例讲解
2019/02/11 PHP
JS删除数组元素的函数介绍
2013/03/27 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
javascript 构造函数方式定义对象
2015/01/02 Javascript
AngularJS学习笔记之TodoMVC的分析
2015/02/22 Javascript
jQuery实现预加载图片的方法
2015/03/17 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
2016/01/12 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
Angular.js中$apply()和$digest()的深入理解
2016/10/13 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
2016/10/15 Javascript
easyui-datagrid特殊字符不能显示的处理方法
2017/04/12 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
解决select2在bootstrap modal中不能正常使用的问题
2018/08/09 Javascript
vue form 表单提交后刷新页面的方法
2018/09/04 Javascript
微信小程序图片右边加两行文字的代码
2020/04/23 Javascript
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
python实现石头剪刀布程序
2021/01/20 Python
python中列表的切片与修改知识点总结
2019/07/23 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
python xlsxwriter模块的使用
2020/12/24 Python
CSS3五个技巧给你的网站带来出色的效果
2009/04/02 HTML / CSS
Conforama瑞士:家具、厨房、电器、装饰
2020/09/06 全球购物
全球精选男装和家居用品:Article
2020/04/13 全球购物
三方协议书范本
2014/04/22 职场文书
初中学生评语大全
2014/04/24 职场文书
本科毕业生应聘自荐信范文
2014/06/26 职场文书
2015新员工试用期工作总结
2014/12/12 职场文书