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根据路径导入模块的方法
Sep 30 Python
详解Django框架中用context来解析模板的方法
Jul 20 Python
Python实现简单多线程任务队列
Feb 27 Python
Python中模块pymysql查询结果后如何获取字段列表
Jun 05 Python
python retrying模块的使用方法详解
Sep 25 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
Nov 08 Python
基于python实现雪花算法过程详解
Nov 16 Python
python实现低通滤波器代码
Feb 26 Python
pandas读取csv文件提示不存在的解决方法及原因分析
Apr 21 Python
解析python 中/ 和 % 和 //(地板除)
Jun 28 Python
Python如何将将模块分割成多个文件
Aug 04 Python
Django mysqlclient安装和使用详解
Sep 17 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设计模式中的工厂模式
2008/06/12 PHP
一步一步学习PHP(2)――PHP类型
2010/02/15 PHP
Drupal简体中文语言包安装教程
2014/09/27 PHP
php限制上传文件类型并保存上传文件的方法
2015/03/13 PHP
求解开jscript.encode代码的asp函数
2007/02/28 Javascript
javascript实现动态增加删除表格行(兼容IE/FF)
2007/04/02 Javascript
asp 的 分词实现代码
2007/05/24 Javascript
javascript 硬盘序列号+其它硬件信息
2008/12/23 Javascript
jQueryUI如何自定义组件实现代码
2010/11/14 Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
2013/05/07 Javascript
Node.js安装教程和NPM包管理器使用详解
2014/08/16 Javascript
jQuery中ajax的load()方法用法实例
2014/12/26 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
2016/05/05 Javascript
jQuery验证插件validate使用详解
2016/05/11 Javascript
Ionic 2 实现列表滑动删除按钮的方法
2017/01/22 Javascript
详解javascript中对数据格式化的思考
2017/01/23 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
2017/02/23 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
详解vue+vueRouter+webpack的简单实例
2017/06/17 Javascript
JavaScript条件判断_动力节点Java学院整理
2017/06/26 Javascript
详解vue父子组件间传值(props)
2017/06/29 Javascript
MVVM 双向绑定的实现代码
2018/06/21 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
python链接oracle数据库以及数据库的增删改查实例
2018/01/30 Python
python中struct模块之字节型数据的处理方法
2019/08/27 Python
python基于openpyxl生成excel文件
2020/12/23 Python
自荐信格式技巧有哪些呢
2013/11/19 职场文书
机电一体化专业推荐信
2013/12/03 职场文书
创业计划书模版
2014/02/05 职场文书
校园歌咏比赛主持词
2014/03/18 职场文书
个人作风建设自查报告
2014/10/22 职场文书
go原生库的中bytes.Buffer用法
2021/04/25 Golang