django数据库初始化写入信息

将该文件放在migrations文件夹下:

初始化media中的图像名称到图像表中。

from django.db import migrationsfrom back import settings
import osfrom tool.preprocess import namenormaldef forwards_func(apps, schema_editor):db_alias = schema_editor.connection.aliasTaskInfo = apps.get_model('labelapi', 'TaskInfo')TaskInfo.objects.using(db_alias).bulk_create([TaskInfo(taskname='segmentation'),TaskInfo(taskname='classification'),])ImgInfo = apps.get_model('labelapi', 'ImgInfo')imglist = os.listdir(os.path.join(settings.MEDIA_ROOT, 'image'))ImgInfoList = []for i in imglist:ImgInfoList.append(ImgInfo(imgfile='image/' + namenormal(i)))ImgInfo.objects.using(db_alias).bulk_create(ImgInfoList)MatchInfo = apps.get_model('labelapi', 'MatchInfo')ImgInfoList = ImgInfo.objects.using(db_alias).all()MatchInfoList = []# TaskInfo = apps.get_model('labelapi', 'TaskInfo')taskinfo = TaskInfo.objects.using(db_alias).get(taskname='segmentation')for i in ImgInfoList:MatchInfoList.append(MatchInfo(imginfo=i, taskinfo=taskinfo, status=0))MatchInfo.objects.using(db_alias).bulk_create(MatchInfoList)def reverse_func(apps, schema_editor):db_alias = schema_editor.connection.aliasTaskInfo = apps.get_model('labelapi', 'TaskInfo')TaskInfo.objects.using(db_alias).filter(taskname='segmentation').delete()TaskInfo.objects.using(db_alias).filter(taskname='classification').delete()db_alias = schema_editor.connection.aliasImgInfo = apps.get_model('labelapi', 'ImgInfo')ImgInfoList = ImgInfo.objects.using(db_alias).all()for i in ImgInfoList:i.delete()MatchInfo = apps.get_model('labelapi', 'MatchInfo')MatchInfoList = MatchInfo.objects.using(db_alias).all()for i in MatchInfoList:i.delete()class Migration(migrations.Migration):dependencies = [('labelapi', '0001_initial'), # 注意依赖]operations = [migrations.RunPython(forwards_func, reverse_func)]

注意migrations.RunPython中的参数不是想写几个就写几个。

【django】数据库初始化写入信息相关推荐

  1. 上传图片至服务器,写入到数据库Blob字段中,以及从数据库读取Blob信息(iframe父子页面传值)(1)

    最近做了个用户维护功能,涉及到照片的操作. 照片是存到数据库oracle中的Blob字段中. 难点有两个: 1,图片的上传:2,Blob字段的读取. 先说图片的上传吧, 我使用common-fileu ...

  2. Django 数据库

    一.操作数据库 Django配置连接数据库: 在操作数据库之前,首先先要连接数据库.这里我们以配置MySQL为例来讲解.Django连接数据库,不需要单独的创建一个连接对象.只需要在settings. ...

  3. c++读取文本文件里的指定位置的字符_利用FSO对象向文本文件中写入信息

    大家好,我们今日讲解"VBA信息获取与处理"教程中第十八个专题"FSO对象对文件及文件夹的处理"的第五节"用FSO对象向文本文件中写入信息" ...

  4. Django 数据库ORM 操作 - 字段的类型和参数

    通过Django的ORM创建表的时候,我们需要定义自己的类. 定义类的时候,他有各种各样的字段类型,每个字段都有自己的参数可以进行配置,下面简单的归纳一下. 首先看看字段的类型.尽管Python提供了 ...

  5. VB查询数据库之写入数据库——机房收费系统总结(三)

         在机房收费系统中,新注册的用户,更改的密码,上机下级记录,上机收费记录等等都要写入数据库,这样,后面的查询才能生效.像数据库中写入数据,首先,找到你要写入数据的数据库中的表,在表中建立新的行 ...

  6. Spring Boot和数据库初始化

    Spring Boot是一个很好的框架,可在开发Spring应用程序时为开发人员节省大量时间和精力. 它的主要功能之一是数据库初始化. 您可以使用spring boot来初始化您的sql数据库. 我们 ...

  7. 【转】Django 数据库的操作

    2019独角兽企业重金招聘Python工程师标准>>> Django 紧紧地遵循这种 MVC 模式,可以称得上是一种 MVC 框架.以下是 Django 中 M.V 和 C 各自的含 ...

  8. 微信小程序通过PHP控制云开发数据库的写入,读出,更新,删除

    微信小程序通过云服务器控制云数据库的写入,读出,更新,删除 由于微信个人版程序限制,使得小程序的功能不太全面.利用云服务器做后端交互与云开发,可以一定程度上解除部分小程序的限制 下面笔者详细说明关于使 ...

  9. FPGA 20个例程篇:9.DDR3内存颗粒初始化写入并通过RS232读取(下)

    四.内存颗粒缓存,进阶之路 9.DDR3内存颗粒初始化写入并通过RS232读取 在介绍了DDR3内存颗粒的硬件设计.总结了MIG IP核官方手册的关键时序.说明了MIG IP核初始配置的详细细节后,就 ...

最新文章

  1. ISLR_StatisticalLearning
  2. Salted Password Hashing
  3. JavaScript If…Else 语句
  4. ANSYS——分析实例,平面对称问题
  5. 一台电脑同时添加git和bitbucket两个网站的ssh key
  6. 里bl2和bl3为什么分开_英国的水池为什么有两个水龙头?为什么英国有独立的冷热水龙头?...
  7. Python+Flask.0010.FLASK即插视图之自定义视图类及修饰器
  8. C#学习笔记-数据的传递(公共变量)以及Dictionary
  9. android 联系人批量插入,GitHub - Atinerlengs/InsertDemo: android 简单的批量插入通话记录、联系人、短信demo...
  10. Python之数据分析(Numpy的子模块:线性代数模块linalg、傅里叶变换模块fft)
  11. 二进制的原码,反码,补码
  12. 强悍的 Linux —— Linux 中 TTY 是什么意思
  13. 各种数字字体样式_来自中世纪建筑 文化的字体——————哥特式
  14. axure 7.0 7.0.0.3142 简体中文版(附汉化包注册)
  15. debounce函数的实现
  16. leetcode/剑指Offer05.替换空格 双指针法实现原地替换
  17. MiniProfiler使用点滴记录-2017年6月23日11:08:23
  18. Android手机启动流程探究
  19. cad导出pdf_MxCAD云图DWG转PDF
  20. 运行navicat报出Missing required library libmysql_d.dll,126问题

热门文章

  1. h5下划线怎么设置_【Word技巧】毕业论文封面那条永远对不齐的下划线?
  2. java setstate,5.state更新流程(setState里到底发生了什么)
  3. Hanoi Tower 模拟
  4. Python验证码识别初探(tesserocr库)
  5. Linux后台进程(和jobs、bg、fg)
  6. 利用GitHub搭建一个酷炫免费的个人博客
  7. K - Repeating Decimals(循环小数)
  8. 远程连接Ubuntu服务器
  9. 自动驾驶——图像识别的学习笔记
  10. 机器学习 Machine Learning中正则化的学习笔记~