django数据库迁移的小思考

在Django中如何进行数据库迁移? 1. 如果你的项目使用了 Django 的管理界面(admin site),并且迁移涉及到管理界面相关的模型更改,你可以登录管理界面查看相关模型的数据是否正确显示,以及是否可以进行相应的操作。2. 例如,如果添加了一个新的模型,并且在管理界面中注册了该模型,迁移后应该能够在管理界面中看到这个新的模型,并进行数据的添加、修改和删除等操作。1. 如果你的项目配置了日志记录,可以查看项目的日志文件,以获取关于数据库迁移的详细信息。1. 生成迁移文件后,你可以查看迁移文件的内容,以了解即将对数据库进行的更改。 阅读详情

django作为web服务器框架快速开发的操作,一直是我喜爱的,最近在思考django数据库迁移的创建表的问题,记录一下。

python manage.py makemigrations 操作究竟完成了什么?

# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-12-08 05:47
from __future__ import unicode_literals

from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('a', '0001_initial'),
        ('b', '0001_initial'),
    ]

    operations = [
        migrations.AddField(
            model_name='a',
            name='b',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='a.A', verbose_name='\u8ba2\u5355\u8bb0\u5f55'),
        ),
        migrations.RemoveField(
            model_name='a',
            name='b',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='a.A', verbose_name='\u8ba2\u5355\u8bb0\u5f55'),
        ),
        
       
    ]

migrations  AddField 添加字段 removeField删除 等操作 修改什么的不说了

这一步操作 两个步骤

第一步  对当前的字段进行djano正确格式的校验

第二步 会在数据库的django_migrations的表中生成一个当前迁移文件的引用

python manage.py migrate 

django生成操作数据库的语句进行直接操作数据库

这个时候皆大欢喜 就一切很好  但是如果 出现问题的话 就尴尬了

因为数据库操作的时候 生成数据库操作语言是逐条生成的 这就造成一个问题,如果 出现一个字段类型的错误 ,它仍会生成这个字段 那么再下次migrate的时候就会报错,而且总是报错。正确的操作是,在数据库中删除当前字段,然后 用新的迁移文件进行操作。

Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。 阅读详情

相关推荐

Django部署DigitalOcean App Platform实战指南

Django是一个高级Python Web框架,其生产部署需严格遵循环境隔离、配置外化与进程契约原则。核心原理在于将DEBUG模式、数据库连接、静态文件服务等敏感逻辑从代码中解耦,交由平台通过环境变量和标准化配置(如app.yaml、Procfile)统一管理。技术价值体现在提升应用可维护性、安全性和跨环境一致性,避免本地开发与线上运行的‘幻觉兼容’。典型应用场景包括SaaS后台、营销站点及中小规模Web服务的快速上线。本文聚焦Django在DigitalOcean App Platform上的落地实践,覆

weixin_30740295的博客 358

Django笔记二十之手动编写migration文件

前面介绍过,migration 文件主要记录的是 Django 系统 model 的变化,然后通过 migrate 命令将变化适配到数据库中。 比如在某个 application 下新增了某张表,或者对某张表更改了字段,可以生成 migration 文件,然后通过 migrate 更改到数据库。 除了系统能够自动生成的,我们还可以手动创建 migration 文件来操作数据库,这个用途主要是用于比如,创建表后,需要写入一些初始化的数据的情况。 基础命令 migration文件介绍 自定义migration

weixin_43354181的博客 1002

驾驭数据库迁移:在 Django 与 Flask 中的全流程实战指南

数据库迁移实战指南:Django与Flask解决方案 本文系统介绍了数据库迁移在Django和Flask框架中的实现方法。从基本原理出发,详细讲解了Django内置迁移工具的使用流程,包括生成迁移脚本、执行迁移、回滚等核心操作,并演示了自定义迁移脚本的编写方法。对于Flask框架,重点介绍了通过Flask-Migrate和Alembic实现数据库迁移的完整流程,包括环境配置、迁移生成与应用、版本管理等关键环节。

铭渊老黄 213

django orm插入一条_Django的使用及原理介绍[2]migration的机制和原理

1概述前文"django的使用及原理介绍[1]-初始Django"中介绍了如何使用Django搭建一个数据库管理的应用。其中介绍了如何通过model创建表/表字段,如何通过api添加/更新下删除表记录,在这个过程中,全程没有介绍任何关于mysql的操作。能让Django对数据库表进行管理而不需要写一行mysql语句,最大的功臣就是ORM(Object Relational Mapping...

weixin_39727743的博客 280

Django学习笔记教程全解析:初步学习Django模型,初识API,以及Django的后台管理系统(Django全解析,保姆级教程)

Django,一个强大且易用的Python Web框架,为开发者提供了全面的API、灵活的模型系统和高效的后台管理系统。Django的API设计简洁,支持RESTful风格,让数据交互变得简单直观。其模型系统基于ORM思想,可快速定义数据库结构,实现数据存取操作。同时,Django自带的后台管理系统功能强大,可自动生成CRUD界面,极大提升了开发效率。无论是构建复杂的企业级应用,还是快速搭建个人网站,Django都能凭借其卓越的性能和丰富的特性,满足开发者的各种需求。选择Django,让Web开发变得更加轻

梦断南楼的博客 2272

使用 ChatGPT/Copilot 提升前端开发效率的 N 种方式

typescript// 输入:根据这个 JavaScript 对象,生成完整的 TypeScript 类型定义id: '123',stock: 50,},// ChatGPT 生成:id: string;discount?: number;// 可选属性// 只读属性// 更进一步,生成 Zod schema 用于运行时验证:});}),});AI 代码助手真正的革命性不在于它能生成多少代码,而在于它改变了我们解决问题的方式。

fineday 1592

django 数据迁移 (migrations)

表已存在_错误参考 迁移常见错误解决方案 django官网迁移教程 执行启动迁移 DJANGO_ENV='test' python manage.py makemigrations --settings=iCrawler.settings_test main # main 为应用名 DJANGO_ENV='test' 为设置环境变量 执行迁移提交到数据库 DJANGO_ENV='test' python manage.py migrate main --database=operation #

安梓晨的博客 1万+

博途 V15.1安装步骤

温馨提醒:安装此软件电脑配置至少应满足以下要求 处理器 CoreTM i5-3320M 3.3 GHz 或相当 内存 至少8G 硬盘 300 GB SSD 显示器 15.6' 宽屏显示 (1920 x 1080) 1.双击打开【Siemens v15.1】文件夹。 2.鼠标右击【STEP 7 BasicProfess...

谢谢关注“小鱼教你模数电”,各平台同号 9万+

在Django中进行数据库迁移

1修改数据库的配置 如果使用默认数据库,则可以不用修改。如果使用 mysql 数据库,则打开 settings.py 文件,修改 DATABASES 项。 2、使用MySQL数据库,还需要在__init__文件中进行连接 3、在MySQL中创建相应的数据库 4、在控制台分别执行这两条命令 python manage.py makemigrations python manage.py migrate 5、最后在数据库中去确认是否迁移成功,迁移成功会有..

Stars_Baek的博客 1万+

KUKA机器人自动回原点程序

创建两个全局变量分别用于储存机器人的笛卡尔姿态与关节角姿态。打开System文件夹中的config文件创建全局变量的点位。在USER GROBALS用户自定义变量Userdefined variables下创建一个E6POS类型的点位,一个E6AXIS类型的点位。

A567852的博客 5212

lattice 黑盒子的生成和使用(Creating Your Own Black Box Modules)

很多客户,特别是外包项目,需要做黑盒子,防止他人看到源码,那么这就需要对相关的源码打包加封了。diamond help 说的也是模糊模糊的,这次给出实际验证过的流程。 1.先将要加封的模块间一个工程,建好工程,写好代码之后,模块名字叫做crosslink(这个使用黑盒子的时候要用),代码如下: module crosslink( output wire[3:0] led, input wire clk, input wire reset ); reg [29:0] cnt; reg [3:0] led1;

qq_39633876的博客 1481

django无法生成迁移文件_Django初始化项目环境精讲

上一节中,我们完成了对 settings.py 文件的基本配置,本节我们还需要对新建的项目进一步的操作,从而完成项目的初始化工作。在《settings.py配置文件详解》一文中,我们介绍了 INSTALLED_APPS 这个安装了 Django 自带应用的列表,诸如 admin 后台管理系统、auth 用户系统应用以及session 会话建立等应用,它们都被安装在了这个列表中。1. 完成...

weixin_42411097的博客 1076

1020空心杯电机驱动设计与ESP32实战

空心杯电机是一种高动态响应的直流微特电机,其驱动本质是解决电感负载下的大di/dt启动、反电动势耦合与电流纹波抑制问题。核心原理在于建立包含内阻、电感和反电动势的等效电路模型,并据此匹配开关器件、PWM参数与采样闭环。技术价值体现在小体积下实现毫秒级响应、低噪声(>30kHz)、高精度电流保护(±50mA)及热鲁棒性。典型应用于微型航模、手持云台与精密执行器等对功率密度和动态性能敏感的嵌入式系统。本文以1020规格空心杯电机为对象,基于ESP32平台完成从MOSFET选型、32kHz硬件PWM生成到INA2

weixin_42298164的博客 582

django电商项目源码_python——django(一)执行数据库迁移错误

前言:先大体说明执行数据迁移文件时候的相关环境,其中记得有一次安装搜索库时候造成django版本升级过,然后我又降级到了1.8.2,突然调试时候发现迁移mysql文件时候竟然报错,回顾了下是老问题,所以记录下;环境版本:python3.7 django版本:1.8.2具体报错信息:Traceback (most recent call last): File "/Users/dongchao/...

weixin_39540020的博客 126

【知识图谱】Neo4j基本操作及数据库文件导入(graph.db.dump)

初探Neo4j导入数据备份数据客户端操作导入csv文件指定csv文件格式使用命令行导入csv文件附录 请读者参考上篇博文 Neo4j安装教程 导入数据 若开启服务,先在终端停止 Neo4j 服务 ./neo4j stop 接下来,下载射雕三部曲的数据库文件 wget https://labfile.oss.aliyuncs.com/courses/1354/graph.db.dump 下载完将出现 graph.db.dump 文件: 将数据库文件导入到 Neo4j 中 首先进入neo4j 根目录下:

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 8620

【AUTOSAR-E2E】-1.4-详述E2E Transformer解决方案

共13页精讲 目录 1“Data Transformation”介绍 1.1 基于SOME/IP Transformer 1.2 基于COM Based Transformer 2 ComXf(COM Based Transformer)介绍 2.1 ComXf(COM Based Transformer)功能规范 2.2 ComXf(COM Based Transformer)提供的服务 2.3 配置注意事项 3 E2EXf(E2E Transformer)介绍 3.1 E2EX...

「汽车电子助手」的博客 4700

Django Silk 数据库迁移详解:从初始版本到最新特性的演进

Django Silk 是一款强大的 Django 应用性能分析工具,它通过数据库迁移机制实现了从简单请求跟踪到复杂性能分析的完整演进。作为 Django 开发者的必备工具,Silk 的数据库迁移历史记录了其功能扩展和技术优化的完整历程。 ## 🚀 初始版本:奠定基础架构 在 `silk/migrations/0001_initial.py` 中,Silk 定义了四个核心模型: - **R

gitblog_00567的博客 652

交通仿真软件:SUMO_(13).Python脚本与TraCI接口

通过TraCI接口,用户可以实现与SUMO仿真器的实时交互,获取和控制交通数据。本文档详细介绍了如何使用Python脚本与TraCI接口进行交互,包括基本的设置、数据获取和控制方法。此外,还展示了几个高级应用示例,如交通流优化、多代理系统、车辆路径规划和车辆行为模拟。这些示例可以帮助用户更好地理解如何利用TraCI接口进行复杂的交通仿真和分析。希望这些内容对您有所帮助,如果您有任何问题或需要进一步的帮助,请参考SUMO的官方文档或社区支持。

kkchenjj的博客 995

django分库分表的优化

通过上面的方式我们可以实现具体的分库分表操作,这种方式比较有效,对于分库较多的操作,比如写主库,读从库的操作可以通过这个Config配置直接可以实现,而获取db的时候,需要多补写几个方法,就是指定使用db库的方法,这样看起来会更加的直观!如果是多张表呢,我们可以想到,可以动态的创建多个表的具体名称,这样的话,在我们程序运行过程中,只要我们传入一个id,此时可以动态的获取到具体的表的名称,就可以找到具体的表,实现具体的分表作用。这个方法先从Config中获取到具体的数据库节点名称,在指定自己使用当前的库。

weixin_44143876的博客 1768

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【Python-Django模型迁移】用户数据库模型的迁移(对其他数据库迁移同样适用)!!!...

迁移用户模型类 1. 指定用户模型类 文档 思考:为什么Django默认用户模型类是User? 阅读源代码:'django.conf.global_settings’ AUTH_USER_MODEL = 'auth.User' 结论: Django用户模型类是通过全局配置项AUTH_USER_MODEL决定的 配置规则:在setting....

agrj56057的博客 320

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Django开发系统,在已经进行过数据库迁移后,使用migration和migrate出现no changed问题

问题描述:Django开发系统,在已经进行过数据库迁移后,使用migration和migrate出现no changed问题的一种解决方法思考,小白

Lonely_snail的博客 510

Docker封装 Django2.0项目 & 数据库为Neo4j

文章目录背景思路 背景 我们可能经常会 从 GitHub上clone 或 pull 别人的项目,然后在自己的设备上运行,期间比较痛苦的一个操作就是需要 配置其环境、安装各种包。 之前就有听说过Docker,也被其build once, configure once and run anywhere跨平台的口号所惊叹 最近所接触的一个项目的部署需要用到Docker,正好趁此机会学习一下。 项目用到的数据库是neo4j,本文不会设计 Django + Nginx + uWSGI的部署,而只是涉及Docker对

m0_38024592的博客 976

Django之数据库迁移和创建

migrate遇到的一个错误 之前在项目中遇到这样一个问题 在数据库删除两张表 在models中注释掉那两张表对应的类 python manage.py makemigrations python manage.py migrate 执行上述步骤之后报错了,因为注释掉类,django orm会去数据库帮我们删表,但是此时表已经不存在了。 解决方式如下:python manage.py ...

weixin_30515513的博客 136

Django项目高效集成人大金仓数据库的实战指南

本文为Django开发者提供了高效集成人大金仓数据库的实战指南。从驱动选择、核心配置到连接池优化与ORM性能调优,详细解析了如何避免常见陷阱,确保项目在生产环境中稳定、高效运行。内容涵盖从基础连接到高级部署的全流程,助力国产化项目顺利落地。

gitlab7runner的博客 737

Django 3.1.5 入门笔记(二)创建、激活、迁移、注册应用模型

目录 一、根据需求,思考我们需要创建什么数据模型? 二、开始创建我们的模型 三、安装、激活、迁移我们的数据模型 四、总结 Django3.1.5在2021年1月4号发布,小修小补的版本,本笔记第二部分接着第一部分结尾,记录练习简单的创建和管理模型的过程 一、根据需求,思考我们需要创建什么数据模型? 首先数据模型的作用是指导我们的数据库根据我们的需求数据模板,来指向性创建数据表存储我们需求的数据到数据库中。 我们可以在脑海里先想一想,日常哪些网站比较常见,以购物网站为例子,平常淘宝、京东、

Archer阿茶 735

Django06——模型操作(图书人物案例)

文章目录1、ORM 模型映射到数据库步骤2、配置数据库3、定义模型4、注册应用5、生成迁移文件6、执行迁移文件7、录入测试数据8、CRUD操作 1、ORM 模型映射到数据库步骤 模型操作步骤如下: (1)配置数据库 在 settings.py 中,配置好DATABASES,做好数据库相关的配置。 (2)编写模型 在app中的models.py中定义好模型,这个模型必须继承自django.db.models.Model类。 (3)注册应用 将这个app添加到settings.py的INSTALLED_APP中

Blog of Lytracy 1100
上一篇: django ORM model filter 条件过滤,及多表连接查询、反向查询,某字段的distinct
下一篇: 2018来了
王晓恩
博客等级 码龄11年 28粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值