首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏python爬虫实战之路

    为什么使用makemigrations提示No changes detected

    我们在使用Django创建工程的时候都使用makemigrations、migrate来生成最初的数据库模型,但是到最后都是直接在数据库中手动创建表,为什么呢? models.py中定义的模型 APP下面的migrations目录 数据库中的django_migrations表 makemigrations 执行makemigrations命令的时候,执行流程如下 目录下的文件是否相匹配,如果全都加载过,则不执行;如果有未加载的,就执行数据库命令 结论 通过以上分析得出以下结论: app下必须有migrations文件夹,即使是空的(必须有、必须有、必须有) 执行迁移时应该先执行makemigrations initial.py文件,django_migrations中也包含对应记录,则删除django_migrations表中对应记录,重新执行migrate命令即可 番外: 网上有人提供了一种方式,执行makemigrations

    6.8K30发布于 2019-10-09
  • 来自专栏爬虫逆向案例

    makemigrations 和 migrate工作原理分别是什么

    有一道关于python-django开发工程师的面试题: 内容大致是makemigrations 和 migrate 工作原理分别是什么, 如果不想使用 Django 的 makemigrations 内置命令包含: check makemigrations migrate runserver startapp startproject 还有其他的我先不写了,这是比较常用的 本篇文章主要根据题目分析makemigrations 和migrate makemigrations: 根据检测到的模型创建新的迁移。 和migrate makemigrations和migrate是两条基于元类设计的Django ORM数据库命令 python的元类: 元类就是用来创建类的“东西”。 本篇整合: 1、makemigrations 和 migrate 工作原理分别是什么: makemigrations:根据检测到的模型创建新的迁移。

    1.6K10发布于 2021-11-22
  • 来自专栏Python、Flask、Django

    记录Django makemigrations 时候出现的一个坑

    今天给数据库更新字段的时候,更新提示成功但是数据库里就是么有字段 - - 经排查后发现,"migrations"下的一些记录文件被我全部删除掉了,然后再次执行"makemigrations"的时候,它会自动的将我要更新的字段读进去 解决方法如下: 修改"migrations"下"001initial.py"里面的要更新的表,查看要更新的字段是否已经存在,如果存在,删除掉,然后执行两创建命令就好了 "makemigrations",

    89520发布于 2018-07-17
  • 来自专栏有趣的Python和你

    Django学习(第四天:ORM&Model)Modelsettingsmigrate和makemigrations

    , 'PASSWORD': '123456', 'HOST': 'localhost', 'PORT': '3306' } } migrate和makemigrations 使用【makemigrations】创建数据库表的变更脚本 使用【migrate】执行数据表变更

    39930发布于 2018-07-03
  • 来自专栏Python、Flask、Django

    Django使用python3在执行makemigrations报错的解决方法

    今天使用python3创建了一个最新的Django版本的项目,运行后也是成功的 但是在我写完models后要创建数据库的时候报错了。错误如下: 这个错误在Flask开发的时候就知道。但是Fla

    1.5K40发布于 2018-07-17
  • 来自专栏BETTER

    Django model update foreign key 外键更新

    migrate(删掉外键)3,child model :foreign key 注释解除,执行makemigratios,migrate(追加外键)詳細:parent変更前:python manage makemigrations parent app 実施時、自動追加 primary key「id」图片変更前 makemigrations結果图片parent変更後 python manage makemigrations child app実施時、 primary key「anken_no」图片変更後makemigrations結果图片child图片問題:子表的外键数据类型未被更新1,parent model 修正後、以下command 実施  ①python manage makemigrations parent app  ②python manage migrate parent app图片  ③python manage makemigrations

    1.4K20编辑于 2022-07-20
  • 来自专栏从零开始学自动化测试

    python测试开发django-72.删除表后如何重新生成表

    删除表之后,发现用 makemigrations 和 migrate 无法生成新的表了。 执行 makemigrations 和 migrate 无法生成新的表了 D:\soft\MyDjango>python manage.py makemigrations Migrations for 执行完成后,再执行makemigrations 和 migrate就可以同步成功了 D:\soft\MyDjango>python manage.py makemigrations No changes

    1.2K10发布于 2019-12-05
  • 来自专栏BETTER

    django-db-comments: model移行时自动生成 table,column逻辑名称

    有参照关系的app,需先生成【父app】的移行文件,再生成【子app】具体执行命令如下:makemigrations:生成移行文件(env) PS D:\Projects\pj> python . \manage.py makemigrations #执行对象:pj全体(包括自带的 user permission等)(env) PS D:\Projects\pj> python . \manage.py makemigrations parentAppName # 单独指定app(env) PS D:\Projects\pj> python . \manage.py makemigrations childrenAppName # 单独指定app(env) PS D:\Projects\pj> python . TO postgres;GRANT ALL ON SCHEMA public TO public;2,将已生成的移行文件,全部删除(各app下的【migrations】文件夹整体删除即可)3,重新执行【makemigrations

    1.2K00编辑于 2022-07-30
  • 来自专栏Django

    django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.00

    remove 'django.contrib.admin' from INSTALLED_APPS in settings.py. execute commands: Python manage.py makemigrations django.contrib.admin' to INSTALLED_APPS in settings.py file. execute commands again: $: Python manage.py makemigrations Python manage.py migrate appname For me removing 'django.contrib.admin' from INSTALLED_APPS and running makemigrations

    1.5K00发布于 2019-10-18
  • 来自专栏python3

    【Python】重置Django Mig

    -path "*/migrations/*.pyc" -delete # python manage.py makemigrations python manage.py migrate # 方式二 --fake yourapp zero # 查看migrations python manage.py showmigrations # 生成migrations python manage.py makemigrations 虚拟重置Migrate python manage.py migrate --fake-initial # 方式三 # 新起一个Django Project # 配置服务器连接 # 配置Model # makemigrations

    61630发布于 2020-01-14
  • 来自专栏Django从入门到实战

    Django模型迁移指南:从命令用法到最佳实践

    一、迁移的工作原理Django 迁移系统本质上是一套数据库版本控制系统,它通过以下三个核心环节实现模型与数据库的同步生成迁移文件:当模型发生变更时,makemigrations 命令会生成记录变更的 Python 并通过数据库中的 django_migrations 表记录执行状态,确保每个迁移只被执行一次回滚迁移操作:支持将数据库状态回滚到指定的历史版本,可通过指定迁移编号或 zero 实现完全回滚二、生成迁移文件:makemigrations 基本用法修改模型后(比如添加字段、删除模型、修改字段类型等),使用以下命令生成迁移文件# 为指定应用生成迁移python manage.py makemigrations your_app_name# 为所有应用生成迁移python manage.py makemigrations实用选项预览迁移内容:不实际创建文件,仅查看变更内容python manage.py makemigrations --dry-run 解决迁移冲突:多开发者协作时合并迁移历史python manage.py makemigrations --merge迁移文件解释迁移文件是自动生成的 Python 脚本,通常位于每个 app 的 migrations

    44110编辑于 2025-07-31
  • 来自专栏pythonista的日常

    django 的 migrations 文件重置管理

    使用 django 开发项目时,如果你使用 model 模型管理你的数据库表,对 migrations 文件会很熟悉,每次 model 模型有新的变更都会执行 python manage.py makemigrations 如果你直接删除这些文件,下次执行 makemigrations 命令时就会报错,因为多个 migrations 文件是有关联的。 下面 migrations 文件,即自动清除该 app 下面 migrations 文件执行记录 2.删除对应 app 下面的 migrations 文件 3.执行 python manage.py makemigrations

    2.2K30发布于 2020-06-16
  • 来自专栏老齐教室

    彻底搞懂Django中的数据迁移

    接下来在命令行执行 makemigrations 指令: > python manage.py makemigrations # 下面是输出 Migrations for 'mig': mig\migrations 在执行 makemigrations 指令时,Django 不会检查你的数据库,而是根据目前的模型的状态,创建一个操作列表,使项目状态与模型定义保持最新。 现在我们尝试一下不修改模型,直接迁移: > python manage.py makemigrations No changes detected > python manage.py migrate 首先执行: > python manage.py makemigrations 创建初始迁移文件 0001_initial.py。 makemigrations 生成迁移文件是完全不管你的数据表实际什么样,全部是通过 django_migrations 的记录和 migrations 文件计算出来的。

    7K20发布于 2020-06-10
  • 来自专栏大数据应用技术

    【已解决】pycharm下数据库转移报错:ModuleNotFoundError: No module named ‘django‘

    报错内容 C:\Users\Lenovo\PycharmProjects\food>python manage.py makemigrations Traceback (most recent call anaconda3,django4.7,python3.8 需求场景 在linux的mysql数据库进行建表操作 错误分析 我也不知道环境怎么坏了,今天上午还能正常执行python manage.py makemigrations 参考了其他文章,是路径的问题,将执行语句更换为 C:\Users\Lenovo\.conda\envs\pythonProject1\python.exe manage.py makemigrations

    51710编辑于 2024-07-25
  • 来自专栏weixuqin 的专栏

    一些杂想

    执行 python manage.py makemigrations 。 执行 python manage.py migrate 。 首次设置 model 的内容要先执行 makemigrations 的指令以及 migrate 指令。 编辑 models.py 后,一定要再执行migrate 才行(如果中间修改过,就需要先执行 makemigrations )。 这两个指令要求套用最新的数据表的新增或修正的内容)即先执行 makemigrations ,再执行 migrate 。 如果有必要,可以直接修改这些内容,然后执行一次 python manage.py makemigrations 和 migrate 就可以反映出修改后的数据表结构。

    1.9K30发布于 2018-08-02
  • 来自专栏Lan小站

    ORM模型的使用,创建ORM模型,ORM模型映射到数据库,ORM模型增删改查

    python manage.py makemigrations #来生成迁移脚本文件。 python manage.py migrate #来将迁移脚本文件映射到数据库中 注意:如果输入 Python manage.py makemigrations提示No changes detected ,解决方案: 输入这行指令即可: python manage.py makemigrations --empty yourappname 第三步、增删改查。

    1K20编辑于 2022-07-14
  • 来自专栏Tensorbytes

    Django小知识

    Django知识小问答 ---- Django知识小问答 关于makemigrations 问:我用python manage.py makemigrations怎么没能将我的model文件生成数据 migrations,记得要在里面加一个init.py哦,不然也是不可以的 问:啊,可以了~~ Good Job (venv) G:\git\bigbooom\bigboomm>python manage.py makemigrations

    55110发布于 2019-10-23
  • 来自专栏学习笔记持续记录中...

    Django - 模型层以及如何通过模型层来建表

    settings.py的目录下的init.py文件中,将下面的代码放进去 import pymysql pymysql.install_as_MySQLdb() 先执行数据库迁移的命令 manage.py makemigrations ,再执行建表的命令manage.py migrate $ python3 manage.py makemigrations Migrations for 'signtest': signtest/ django_migrations WHERE app='your-app-name'; # 下载依赖时增加版本信息 mysql-connector-python==1.0.12 # 要为应用创建初始迁移,请运行makemigrations /manage.py makemigrations <myapp>

    1.2K20发布于 2020-03-27
  • 来自专栏编程使我快乐

    Django更新数据模型

    但是有更好的方法, 如下: python manage.py makemigrations app python manage.py migrate --fake app 在app.models 中更新字段 python manage.py makemigrations app 在migrations文件夹中添加一个新的文件,并将更新添加到db python manage.py migrate

    1.4K10发布于 2020-11-04
  • 来自专栏cywhat

    Django删除表重建

    2.注释视图函数view 3.注释form表单 2.删除表 1.手动删除 2.drop xxx (需到mysql-shell中执行) 3.更新数据库表变化 python3 manage.py makemigrations python3 manage.py migrate --fake 4.去掉注释重新建表 python3 manage.py makemigrations python3 manage.py migrate

    1.4K30编辑于 2022-11-22
领券