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列表的常用操作方法小结
May 21 Python
Python处理文本文件中控制字符的方法
Feb 07 Python
Python操作MongoDB详解及实例
May 18 Python
Python中工作日类库Busines Holiday的介绍与使用
Jul 06 Python
python 统计列表中不同元素的数量方法
Jun 29 Python
win10系统下Anaconda3安装配置方法图文教程
Sep 19 Python
理想高通滤波实现Python opencv示例
Jan 30 Python
python使用for循环计算0-100的整数的和方法
Feb 01 Python
django fernet fields字段加密实践详解
Aug 12 Python
new_zeros() pytorch版本的转换方式
Feb 18 Python
Python-jenkins 获取job构建信息方式
May 12 Python
Python-jenkins模块之folder相关操作介绍
May 12 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
Sony CFR 320 修复改造
2020/03/14 无线电
php中计算程序运行时间的类代码
2012/11/03 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
php递归删除目录与文件的方法
2015/01/30 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
2015/09/20 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
JS面向对象编程之对象使用分析
2010/08/19 Javascript
javascript数组去掉重复
2011/05/12 Javascript
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
js函数中onmousedown和onclick的区别和联系探讨
2013/05/19 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
面向切面编程(AOP)的理解
2015/05/01 Javascript
JavaScript淡入淡出渐变简单实例
2015/08/06 Javascript
jQuery模拟select实现下拉菜单功能
2016/06/20 Javascript
javascript动画系列之模拟滚动条
2016/12/13 Javascript
微信小程序前端promise封装代码实例
2019/08/24 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
微信分享invalid signature签名错误踩过的坑
2020/04/11 Javascript
Python 的 Socket 编程
2015/03/24 Python
Python实现的数据结构与算法之基本搜索详解
2015/04/22 Python
基于Python代码编辑器的选用(详解)
2017/09/13 Python
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
python使用 zip 同时迭代多个序列示例
2019/07/06 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
Python 实现Image和Ndarray互相转换
2020/02/19 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
keras CNN卷积核可视化,热度图教程
2020/06/22 Python
西班牙最大的在线滑板和街头服饰商店:Fillow.net
2019/04/15 全球购物
同事吵架检讨书
2014/02/05 职场文书
政府采购方案
2014/06/12 职场文书
三人合伙协议书范本
2014/10/29 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
离婚财产分割协议书
2015/08/11 职场文书
2016大一新生军训感言
2015/12/08 职场文书
opencv-python图像配准(匹配和叠加)的实现
2021/06/23 Python
SpringBoot整合Redis入门之缓存数据的方法
2021/11/17 Redis