【django】数据库初始化写入信息
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】数据库初始化写入信息相关推荐
- 上传图片至服务器,写入到数据库Blob字段中,以及从数据库读取Blob信息(iframe父子页面传值)(1)
最近做了个用户维护功能,涉及到照片的操作. 照片是存到数据库oracle中的Blob字段中. 难点有两个: 1,图片的上传:2,Blob字段的读取. 先说图片的上传吧, 我使用common-fileu ...
- Django 数据库
一.操作数据库 Django配置连接数据库: 在操作数据库之前,首先先要连接数据库.这里我们以配置MySQL为例来讲解.Django连接数据库,不需要单独的创建一个连接对象.只需要在settings. ...
- c++读取文本文件里的指定位置的字符_利用FSO对象向文本文件中写入信息
大家好,我们今日讲解"VBA信息获取与处理"教程中第十八个专题"FSO对象对文件及文件夹的处理"的第五节"用FSO对象向文本文件中写入信息" ...
- Django 数据库ORM 操作 - 字段的类型和参数
通过Django的ORM创建表的时候,我们需要定义自己的类. 定义类的时候,他有各种各样的字段类型,每个字段都有自己的参数可以进行配置,下面简单的归纳一下. 首先看看字段的类型.尽管Python提供了 ...
- VB查询数据库之写入数据库——机房收费系统总结(三)
在机房收费系统中,新注册的用户,更改的密码,上机下级记录,上机收费记录等等都要写入数据库,这样,后面的查询才能生效.像数据库中写入数据,首先,找到你要写入数据的数据库中的表,在表中建立新的行 ...
- Spring Boot和数据库初始化
Spring Boot是一个很好的框架,可在开发Spring应用程序时为开发人员节省大量时间和精力. 它的主要功能之一是数据库初始化. 您可以使用spring boot来初始化您的sql数据库. 我们 ...
- 【转】Django 数据库的操作
2019独角兽企业重金招聘Python工程师标准>>> Django 紧紧地遵循这种 MVC 模式,可以称得上是一种 MVC 框架.以下是 Django 中 M.V 和 C 各自的含 ...
- 微信小程序通过PHP控制云开发数据库的写入,读出,更新,删除
微信小程序通过云服务器控制云数据库的写入,读出,更新,删除 由于微信个人版程序限制,使得小程序的功能不太全面.利用云服务器做后端交互与云开发,可以一定程度上解除部分小程序的限制 下面笔者详细说明关于使 ...
- FPGA 20个例程篇:9.DDR3内存颗粒初始化写入并通过RS232读取(下)
四.内存颗粒缓存,进阶之路 9.DDR3内存颗粒初始化写入并通过RS232读取 在介绍了DDR3内存颗粒的硬件设计.总结了MIG IP核官方手册的关键时序.说明了MIG IP核初始配置的详细细节后,就 ...
最新文章
- ISLR_StatisticalLearning
- Salted Password Hashing
- JavaScript If…Else 语句
- ANSYS——分析实例,平面对称问题
- 一台电脑同时添加git和bitbucket两个网站的ssh key
- 里bl2和bl3为什么分开_英国的水池为什么有两个水龙头?为什么英国有独立的冷热水龙头?...
- Python+Flask.0010.FLASK即插视图之自定义视图类及修饰器
- C#学习笔记-数据的传递(公共变量)以及Dictionary
- android 联系人批量插入,GitHub - Atinerlengs/InsertDemo: android 简单的批量插入通话记录、联系人、短信demo...
- Python之数据分析(Numpy的子模块:线性代数模块linalg、傅里叶变换模块fft)
- 二进制的原码,反码,补码
- 强悍的 Linux —— Linux 中 TTY 是什么意思
- 各种数字字体样式_来自中世纪建筑 文化的字体——————哥特式
- axure 7.0 7.0.0.3142 简体中文版(附汉化包注册)
- debounce函数的实现
- leetcode/剑指Offer05.替换空格 双指针法实现原地替换
- MiniProfiler使用点滴记录-2017年6月23日11:08:23
- Android手机启动流程探究
- cad导出pdf_MxCAD云图DWG转PDF
- 运行navicat报出Missing required library libmysql_d.dll,126问题