如何修复 django.db.utils.DatabaseError

2024-01-03

如何修复 Django 数据库错误。我将 MongoDB 与 Djongo 一起使用。

一切都工作正常,直到最近我决定添加 NewApp。每当我尝试迁移时,它都会向我打招呼 django.db.utils.DatabaseError 。

我尝试手动重置数据库以及从终端重置数据库,但没有成功。

我认为这非常简单,但我对 Django 和 MongoDB 不太熟悉,似乎不知道如何修复它,任何帮助将不胜感激。

错误如下所示。

Not implemented alter command for SQL ALTER TABLE "articles_article" ADD COLUMN "author_id" int NOT NULL
  Applying articles.0002_article_author...Traceback (most recent call last):
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/djongo/cursor.py", line 51, in execute
    self.result = Query(
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 783, in __init__
    self._query = self.parse()
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 875, in parse
    raise e
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 856, in parse
    return handler(self, statement)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 888, in _alter
    query = AlterQuery(self.db, self.connection_properties, sm, self._params)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 425, in __init__
    super().__init__(*args)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 84, in __init__
    super().__init__(*args)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 62, in __init__
    self.parse()
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 435, in parse
    self._add(statement)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 598, in _add
    raise SQLDecodeError(err_key=tok.value,
djongo.exceptions.SQLDecodeError: 

    Keyword: int
    Sub SQL: ALTER TABLE "articles_article" ADD COLUMN "author_id" int NOT NULL
    FAILED SQL: ('ALTER TABLE "articles_article" ADD COLUMN "author_id" int NOT NULL',)
    Params: ([],)
    Version: 1.3.3

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/db/backends/utils.py", line 86, in _execute
    return self.cursor.execute(sql, params)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/djongo/cursor.py", line 59, in execute
    raise db_exe from e
djongo.database.DatabaseError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/core/management/__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/core/management/base.py", line 328, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/core/management/base.py", line 369, in execute
    output = self.handle(*args, **options)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/core/management/base.py", line 83, in wrapped
    res = handle_func(*args, **kwargs)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/core/management/commands/migrate.py", line 231, in handle
    post_migrate_state = executor.migrate(
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/db/migrations/executor.py", line 117, in migrate
    state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/db/migrations/executor.py", line 245, in apply_migration
    state = migration.apply(state, schema_editor)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/db/migrations/migration.py", line 124, in apply
    operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/db/migrations/operations/fields.py", line 110, in database_forwards
    schema_editor.add_field(
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/db/backends/base/schema.py", line 480, in add_field
    self.execute(sql, params)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/db/backends/base/schema.py", line 142, in execute
    cursor.execute(sql, params)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/db/backends/utils.py", line 100, in execute
    return super().execute(sql, params)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/db/backends/utils.py", line 68, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/db/backends/utils.py", line 86, in _execute
    return self.cursor.execute(sql, params)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/db/utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/django/db/backends/utils.py", line 86, in _execute
    return self.cursor.execute(sql, params)
  File "/Users/username/opt/anaconda3/envs/restApi/lib/python3.8/site-packages/djongo/cursor.py", line 59, in execute
    raise db_exe from e
django.db.utils.DatabaseError

感谢您的时间。


你好,这种情况经常发生。只需三个简单步骤即可完成以下操作

  1. 转到您的应用程序的迁移目录

  2. 删除 0001_initial.py 或 allnumbers_initial.py

  3. 运行 makemigrations 并再次迁移。你的问题一定会得到解决。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何修复 django.db.utils.DatabaseError 的相关文章

  • Django GraphQL JWT:tokenAuth 突变返回“str 对象没有属性解码”

    目前 我正在文档页面中运行 django graphqljwt 的基本示例 https django graphql jwt domake io en latest quickstart html https django graphql
  • 时间序列数据的键值存储?

    我一直在使用 SQL Server 存储数十万个对象的历史时间序列数据 每天观察大约 100 次 我发现查询 给我时间 t1 和时间 t2 之间对象 XYZ 的所有值 太慢 对于我的需要 慢超过一秒 我按时间戳和对象 ID 建立索引 我考虑
  • Elasticsearch 聚合过滤器

    因为我在谷歌上找不到任何东西 是否可以在elasticsearch中过滤聚合 我正在考虑这样的事情 获取 SOME object X gt 100 的所有对象 提前致谢 编辑 样本数据 我有以下文档结构 docKey 1 value 2 d
  • 如何验证 ObjectID

    使用 Joi 模式验证 是否可以针对 MongoDB ObjectID 进行验证 像这样的事情可能很棒 id Joi ObjectId required error errorParser 我发现如果我这样做 Joi object id J
  • Django Rest Framework 分页设置 - 内容范围

    6 30 15 我怎样才能让这个问题变得更好并且对其他人更有帮助 反馈会有帮助 谢谢 我使用 DRF 作为 Dojo Dgrid Web 应用程序的服务器端 Dojo 需要来自服务器的内容范围或范围响应 目前它不发送任何内容 因此 dgri
  • 通过 JDBC 将“daterange”字段值插入 PostgreSQL 表

    我在 PostgreSQL 9 3 有一个表日期范围 http www postgresql org docs 9 3 static rangetypes html字段类型 我可以像使用 JDBC 的字符串一样选择此字段 但无法将其插入表中
  • 如何在 django 模板中将名称反转为绝对 url?

    url url name 给出一个相对名称 我怎样才能做类似的事情 absolute url url name 这样它就会返回带基数的 url 包括端口 如果存在 有不同的解决方案 编写您自己的模板标签并使用 HttpRequest bui
  • Django 的登录会话

    我正在尝试在我的网络应用程序中设置登录会话 但无法使其正常工作 我是 django 新手 阅读了会话文档 但没有连接到我的网络应用程序 我现在想要的只是检查用户是否已登录 如果没有则重定向到登录页面 这是我尝试合并登录会话的代码 设置 py
  • Django 如何将自定义变量传递到上下文以在自定义管理模板中使用?

    我正在扩展change list html 我需要输出settings py中定义的变量 如何将该特定变量传递到自定义管理模板上下文中 class MyModelAdmin admin ModelAdmin def changelist v
  • 在 MacOSX10.6 上运行 python 服务器时 MySQLdb 错误

    运行我的服务器 python manage py runserver 产生以下错误 django core exceptions ImproperlyConfigured 加载 MySQLdb 模块时出错 没有名为 MySQLdb 的模块
  • 数据库错误:值对于类型字符变化来说太长(100)

    我有一个 Django 网站 运行我们几年前在内部构建的迷你 CMS 它使用 postgresql 保存简单的标题和一段文本时 出现以下错误 value too long for type character varying 100 奇怪的
  • Neo4j Desktop DB 无法启动,状态为“KILLED”

    运行 Neo4j Desktop 版本 1 0 15 尝试启动DB导致启动失败 数据库启动失败 DB database f8950fdd 6b5f 4fea 8c9f e8457ee1da9a v3 3 1 退出 状态为 已杀 检查日志 主
  • 数据库分片和 Rails

    在 Rails 中处理分片数据库的最佳方法是什么 分片应该在应用层 活动记录层 数据库驱动层 代理层还是其他层处理 各自的优点和缺点是什么 FiveRuns 有一个名为的 gem数据结构 https github com bpot data
  • Django:管理中的 AJAX ManyToManyField

    我要显示ManyToManyFields 在 admin 中就像filter horizontal确实如此 但会在用户在过滤器字段中键入内容时填充选项 有很多选项 一次性加载它们需要很多时间 I found django ajax 过滤字段
  • Node.js 检测两个猫鼬查找何时完成

    我正在尝试使用自动完成功能初始化两个输入library https www devbridge com sourcery components jquery autocomplete 当我加载页面时 我将触发 Ajax 来初始化两个输入文本
  • 如何发送正确的授权标头以进行基本身份验证

    我正在尝试从 API 发布数据 但无法通过基本身份验证 I try ajax type POST url http theappurl com api v1 method data crossDomain true beforeSend f
  • 在 django admin 中自定义选择

    我有一个模型 其中一个字段是外键 所以我在 django admin 中看到选择 是否可以自定义此选择的标签 class Model models Model name models CharField def unicode self r
  • Django 多个具有相同名称的输入字段值

    我需要一些帮助 如何处理具有多个输入字段值且名称相同的表单 而且只有一次查看 这实际上是针对基本问题的形式 我发现这个方法的另一个想法https stackoverflow com a 478406 6396981 https stacko
  • 模型字段的随机/非常量默认值?

    我有一个看起来像这样的模型 class SecretKey Model user ForeignKey User related name secret keys created DateTimeField auto now add Tru
  • 如何在列上创建外键,该列的每条记录都可能引用多个表之一中的列?

    我正在创建一个社交网络 它有新闻 照片等多个实体 可以有评论 由于所有评论都具有相同的列并且行为方式相同 唯一的区别是它们的类型 新闻 照片或将来添加的其他内容 我决定为所有评论创建一个表 其中的列名为type 它工作得很好 直到我决定将外

随机推荐

  • Django 中随机发生运行时错误死锁

    在 Python 3 7 9 中运行 Django 我正在使用通道 因此使用 daphne 但即使我使用 Gunicorn 也会获得相同的结果 下面的错误是随机出现的 ERROR 2021 07 12 11 55 07 478 HTTP G
  • Fortran - lbound 抛出错误 6366“数组表达式的形状不符合”

    所以我又被Fortran弄糊涂了 去搞清楚 不管怎样 我正在尝试编写一个非常简单的例程 将值从数组末尾剥离 一切复杂的工作都很好 除了我想编写子例程 这样我就不必将输入数组的下限传递给它 这是子程序 subroutine Strip lis
  • Linux内核:从内核空间调用用户空间的回调函数

    我正在编写 Linux 用户空间应用程序 我想从内核空间调用用户空间区域中注册的回调函数 即中断到达 GPIO 引脚 开关按下事件 并在用户空间中调用注册函数 有没有什么方法可以做到这一点 Thanks 经过大量挖掘后 我发现了下面的代码
  • 将 HTML 转换为 Word DOC,其中我有输入字段

    从 HTML 转换为 DOC 的问题在于输入字段 是否可以仅从输入字段中提取 DOC 值 而不是直接从浏览器中提取整个元素 HTML 示例 div class source html outer div h1 h1 div div
  • 如何处理bigquery中的动态模式

    我的数据如下所示 第 1 行 id 1 object user metadata name 1234 第 2 行 id 1 object user metadata name 1234 email email protected cdn c
  • 从方案列表中删除所有重复成员

    我正在尝试使用递归删除列表中的重复项 这就是我所拥有的 它仅删除第一个重复项 而不是全部 我的想法是查看第一个成员 检查它是否是列表其余部分的成员 如果是 则再次调用该函数 如果没有 则创建一个包含第一个成员和再次调用该函数的结果的列表 我
  • 如何在单个图表中可视化多态调用?

    首先 看一下这些Java代码 Drawable java package examples simple model public interface Drawable public void draw 形状 java package ex
  • 如何找到jqgrid中的最后一行

    目前我正在研究 jqgrid 我必须找出最后一行并实现 ctrl down 功能 但目前我无法获得最后一排 这里需要有人帮助 提前致谢 如果网格 id 是例如list那么下面的表达式应该返回最后一行 list find gt tbody g
  • 如何使用 clojure 作为 Java 程序的脚本语言?

    对于用 Java 编写的服务器程序 我需要为 待指定的 查询语言添加解释器 用户应该能够将自己编写的查询 程序 发送到该服务器 并接收返回的结果 基本上只是一个字符串列表 查询的语言尚未指定 所以我想在这里使用 clojure 作为脚本语言
  • Google 图表 - 避免在 yAxis 中显示负值

    我有以下代码 function drawVisualization Create and populate the data table var data google visualization arrayToDataTable Year
  • 如何使用python解析ld+json

    我一直在尝试一些网络抓取 并且发现了位于此标签内的一些有趣的数据
  • Swift 中如何判断泛型是否是可选的?

    我想用一个函数扩展一个数组 该函数将返回数组中所有非零项的计数 理想情况下 这适用于任何可选或非可选类型的数组 我尝试了各种方法 但都无法编译 使 Xcode 崩溃或两者兼而有之 我本以为它会是这样的 extension Array fun
  • `const T` 和 `T` 在获取其嵌套类型时没有区别吗?

    include
  • 在 ASP.Net Core 中全局设置日志记录范围

    我想要获取 ASP Net Core 服务中每条日志消息中记录的某些关键信息 服务名称 服务版本 主机名等 我有以下代码 public class Program public static void Main string args va
  • 如何在keras中实现自定义指标?

    我收到此错误 sum 得到了意外的关键字参数 out 当我运行这段代码时 import pandas as pd numpy as np import keras from keras layers core import Dense Ac
  • 如何制作自定义键盘布局?

    为 Windows 制作键盘布局的最佳方法是什么 具体来说 这种布局将出现在 文本服务和输入语言 列表中 而无需购买昂贵的软件 我了解 Microsoft Keyboard Layout Creator 但发现它完全受到限制 因为您无法执行
  • C# mongodb驱动2.2.3如何设置游标的batchSize

    我正在使用 MongoDB 2 2 3 的官方 C 驱动程序 如何使用 C 驱动程序设置光标的批量大小 使用 javascript 我可以创建一个光标并为其设置批量大小 var cursor db statistics find query
  • 有效地查找集合中的项目[重复]

    这个问题在这里已经有答案了 如果我需要在集合中找到一个对象 该集合不包含用作索引的自然键 因此我无法使用 Map 有几种不同类型的谓词用于搜索集合 看起来效率很低 const items Array from mySet const fou
  • Laravel 公共文件夹

    我想知道是否有人可以解释为什么 Laravel 应用程序的 index php 文件位于公共目录中 如果我将其移至根目录 会有哪些风险 laravel 公共文件夹中的文件和文件夹旨在可通过网络访问 为了安全起见 laravel 框架中的所有
  • 如何修复 django.db.utils.DatabaseError

    如何修复 Django 数据库错误 我将 MongoDB 与 Djongo 一起使用 一切都工作正常 直到最近我决定添加 NewApp 每当我尝试迁移时 它都会向我打招呼 django db utils DatabaseError 我尝试手