django-mptt 引发 django.db.utils.IntegrityError:列“lft”中的空值违反了非空约束

2024-02-08

条件:Django==1.8.7 和 django-mptt==0.8.0。

有一个模型:

class Tree(mptt_models.MPTTModel):
    name = models.CharField(max_length=120, unique=True)
    slug = models.SlugField(max_length=256, unique=True)
    parent = mptt_models.TreeForeignKey('self', null=True, blank=True,
                                        related_name='children', db_index=True)

    class MPTTMeta:
        order_insertion_by = ['name']

我可以用管理界面填充它并显示在网站页面上。

我可以用 django shell 填充它:

Python 2.7.3 (default, Jun 22 2015, 19:43:34)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from src.catalog.models import Tree
>>> Tree.objects.create(name='1', slug='2')
<Tree: 1>
>>> Tree.objects.all()
[<Tree: 1>]

我编写了一个使用遗留模型中的信息填充树模型的迁移:

def propagate_tree(app_registry, schema_editor):
    Category = app_registry.get_model('catalog', 'Category')
    Tree = app_registry.get_model('catalog', 'Tree')

    for category in Category.objects.all():
        parent = Tree.objects.create(name=category.title, slug=category.slug)

        for group in category.group_set.all():
            Tree.objects.create(parent=parent, name=group.title, slug=group.slug)

我收到以下错误:

django.db.utils.IntegrityError: null value in column "lft" violates not-null constraint

执行该行时:

parent = Tree.objects.create(name=category.title, slug=category.slug)

仍然无法理解这个错误的原因:(


我刚刚遇到了同样的问题,原因是使用 app_registry 导入模型。 在迁移中替换它:

Tree = app_registry.get_model('catalog', 'Tree')

与正常导入一样,就像您在 shell 中所做的那样。

from src.catalog.models import Tree

它应该像魅力一样发挥作用。

但是,我不知道为什么第一个不起作用,因为就我而言,这是在迁移文件中导入模型的首选方式。

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

django-mptt 引发 django.db.utils.IntegrityError:列“lft”中的空值违反了非空约束 的相关文章

  • 对(静态)CSS 文件所做的更改未反映在 Django 开发服务器中

    我正在使用 Django 制作一个 Web 应用程序 但在将 CSS 文件 存储在我的应用程序的静态目录中 中所做的更改反映到开发服务器上时遇到了一些问题 需要明确的是 服务器能够访问静态文件 但是 它目前停留在我的 CSS 文件的旧版本上
  • 使用 Python 或 Django 处理收到的电子邮件?

    我了解如何通过 Django 发送电子邮件 但我希望用户能够回复电子邮件 如果他们发送 以及我收到 的电子邮件包含与某个字符串匹配的消息 我将调用一个函数 我已经做了一些谷歌搜索 但除了自己制作脚本之外似乎没有什么好的解决方案 如果有什么东
  • Django 和自定义表单验证

    我正在尝试创建一个自定义表单字段并对其进行验证 这是 Django 1 0 版本 这是我的表单对象 class UsernameField forms CharField def clean self values print 我是这样称呼
  • Django 模型 - 外键作为主键

    我有以下2张表 在 models py 中 class Foo models Model uuid models CharField UUID primary key True default uuid4 and class FooExt
  • django RequestFactory 文件上传

    我尝试使用 RequestFactory 创建请求并使用文件发布 但我没有收到 request FILES from django test client import RequestFactory from django core fil
  • Django ManyToManyField 在数据库中的位置/如何表示?

    UPDATE 刚刚发现 当选择特定专辑时 ManyToManyField 会导致管理界面崩溃 我将它们注释掉 注释掉所有对其的引用 重新运行makemigrations and migrate 现在管理界面又可以工作了 这让我离让这个 最喜
  • 使用 Python 2.7 在 Django 1.6 中实现 Chartit - TypeError: 'NoneType' has no attribute __getitem__

    我已经在 Django 中成功实现了一些应用程序 目前我尝试根据教程实现图表 http chartit shutupandship com docs how to use http chartit shutupandship com doc
  • django 中的身份验证方法返回 None

    你好 我在 django 中做了一个简单的注册和登录页面 当想要登录时 登录视图中的身份验证方法不返回任何内容 我的身份验证应用程序 模型 py from django db import models from django contri
  • JsGrid 将嵌套对象加载到表中

    我正在 Django 中开发一个 Web 项目并使用 jsGrid 我遇到了问题并且找不到解决方案 我有一个嵌套的 JSON 数据 它是通过组合多个数据库表记录创建的 这是我的 JSON count 3 results personnel
  • Django 子应用程序和模块结构

    我正在开发一个 Django 应用程序 这是一个大型系统 需要多个子应用程序来保持整洁 因此 我有一个顶级目录 它是 Django 应用程序 因为它有一个空的models py文件 和多个子目录 它们本身也是应用程序 我以这种方式布局应用程
  • Django 中的 Rpy2 错误 - 未为“”类型的对象定义转换“py2rpy”

    我以前从未使用过 R 并且正在尝试使用 rpy2 从 python 调用 R 函数 它可以在独立的 python 终端上运行 但不能在 Django 中运行 但rpy2似乎无法将python字符串转换为r对象 我正在使用同事提供的自定义库
  • 错误请求 400:nginx/gunicorn

    我已经遵循了这个教程 http blog wercker com 2013 11 25 django 16 part3 html http blog wercker com 2013 11 25 django 16 part3 html我现
  • 创建django权限,报错:ContentType匹配查询不存在

    我正在尝试添加两个组并授予他们对我的 Django 项目的权限 但我不断收到错误 ContentType 匹配查询不存在 我在跑步 姜戈 1 5 4 Python 2 7 3 南0 8 2 后SQL 9 3 这是我的代码 import dj
  • 在 Redis 上为 Django 和 Express.js 应用程序共享会话存储

    我想创建一个包含一些登录用户的 Django 应用程序 另一方面 由于我想要一些实时功能 所以我想使用 Express js 应用程序 现在的问题是 我不希望身份不明的用户访问 Express js 应用程序的日期 因此 我必须在 Expr
  • 如何使用UpdateView?

    我有两个可能相关的 UpdateView 问题 首先 它不是更新用户而是创建一个新的用户对象 其次 我无法限制表单中显示的字段 这是我的观点 py class RegistrationView FormView form class Reg
  • 动态创建类 - Python

    我需要动态创建一个类 为了更详细地讲 我需要动态创建 Django 的子类Form class 通过 动态 我打算根据用户提供的配置创建一个类 e g 我想要一个名为CommentForm这应该子类化Form class 该类应该有一个选定
  • django orm:select_lated,用假外键欺骗反向外键除了模型之外,会出现什么问题?

    我正在尝试学习如何使用 Django 的 ORM 进行更高级的查询 而不是使用原始 sql select related进行连接以减少数据库命中 原则上它可以进行我手动执行的连接 但有一个问题 它不使用反向外键关系来制作sql 对于我的架构
  • 使用标签或 href 传递 Django 数据

    我有一个包含链接的表 当单击该链接进行更多操作时 我想将一些数据传递给我的函数 my html table tbody for query in queries tr td value a href internal my func que
  • 如何使用基于类的视图处理表单(通过 get 或 post)?

    我正在尝试学习基于类的视图 因为详细信息或列表视图并不那么复杂 我有一个搜索表单 我只想看看是否发送查询来显示结果 这是函数代码 不是我的 来自 django 书籍 def search page request form SearchFo
  • 如何更改 Django allauth 中的“帐户已存在”消息?

    当尝试使用社交帐户登录且已存在使用该电子邮件的帐户时 会显示以下消息 An account already exists with this e mail address Please sign in to that account fir

随机推荐

  • 在 OpenCV 上获取屏幕尺寸

    如何获取 OpenCV 上的计算机屏幕分辨率 我需要使用整个屏幕宽度并排显示两个图像 OpenCV 需要我想要创建的确切窗口大小 您可以在有或没有 opencv 的情况下使用此解决方案跨平台解决方案 if WIN32 include
  • 为什么 Vue.js 允许推送到 prop 数组?

    当我们尝试直接更改 prop 值时 Vue js 会显示警告 如下所示 Vue component Games template div ol li game li ol div
  • 在C#中,有没有办法始终能够获取当前焦点窗口的选定文本内容?

    在我的 c Net 应用程序中 我一直在尝试能够检索当前聚焦窗口中当前选定的文本 注意可以是windows中打开的任何窗口 比如word 或者safari 我能够检索当前聚焦控件的句柄 使用对 user32 dll 和 kernel32 d
  • C++ 中阿拉伯字符串的反转

    如何使用 C 反转阿拉伯字符串 例如 的反义词是 阿拉伯字母的形状根据单词中的位置而不同 词首 词中或词尾 连接阿拉伯字母还有其他规则吗 正如 Petesh 所说 根据我能找到的参考资料 例如维基百科 http en wikipedia o
  • d3 色阶 - 与多种颜色呈线性?

    我正在尝试创建一些类似于量化标度的东西 但其行为类似于线性色标 当我尝试将多种颜色放入线性比例时 它似乎只在前两种颜色之间进行缩放 我想要多种颜色 例如量化比例 但在这些颜色之间淡入淡出 我不确定这是否可能 red and green wo
  • NoSuchMethodError:Jersey 客户端中的 MultivaluedMap.addAll

    我正在尝试使用 Jersey Client 模拟对我的 Web 服务的 HTTP 请求 我尝试实施简单的例子 http jersey java net documentation latest user guide html d0e2365
  • 如何在 Swift 中将键分配给 SKActions

    我希望有人能够帮助我解决这个问题 我似乎找不到一种方法来为removeActionWithKey 方法的Sprite Kit 的SKAction 分配键 我还尝试将操作分配给字典中的键 但程序无法识别键分配 因此返回零值 这是我尝试做的 v
  • C++中的动态对象[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我从c 转到c 我不明白什么是动态对象 所以想象一下你有 A 类并创建像 A a new A 这样的对象是正常的 但是对象 a 是什么 它和
  • 客户端服务器程序的多线程

    我正在尝试使用我一直在开发的客户端 服务器程序来实现多线程 我需要允许多个客户端同时连接到服务器 我目前有 4 个类 一个客户端 一个服务器 一个协议和一个处理线程的工作人员 以下代码是我为这些类编写的代码 套接字服务器类 public c
  • Jmeter 而控制器似乎没有将变量评估为数字

    我正在编写一个 jmeter 脚本 该脚本会不断加载数据 直到表达到指定的大小 我有一个 while 循环 其中有一个 HTTP 采样器来加载数据 然后是另一个带有 XPath 后处理器的 HTTP 采样器来检查表大小 它们调用两个不同的
  • get_dummies (Pandas) 和 OneHotEncoder (Scikit-learn) 之间的优缺点是什么?

    我正在学习不同的方法将分类变量转换为机器学习分类器的数字 我遇到了pd get dummies方法和sklearn preprocessing OneHotEncoder 我想看看它们在性能和使用方面有何不同 我找到了一个关于如何使用的教程
  • 树形视图闪烁?

    我开始知道 通过添加 TreeView BeginUpdate 将防止树视图闪烁 但是当我将其添加到我的项目中时 树视图的所有节点都会消失 任何人都可以告诉我为什么会发生这种情况 这是我使用 TreeView 的代码片段 BeginUpda
  • ios google登录,如何获取用户图片url?

    我正在研究 iOS Swift 谷歌登录 我在github上做了一个demo 我的演示项目 https github com tanggod GoogleSignIn git https github com tanggod GoogleS
  • 使用python删除某些文件

    我有一个 py 脚本 可以处理扩展名为 hgx 的文件 示例 test hgx 有很多这样的扩展名为 hgx 的文件 该脚本处理 test hgx 并创建一个新的 test bac hgx 并在重新运行时创建 test bac bac hg
  • 如何获取存储库 /network 的完整 github.com 可视化

    EDIT 这应该是给我母亲的礼物 如果需要的话 我会将它拖放并将一堆丝网印刷品缝合在一起 但是该资源必须位于网站上的某个地方 我相信至少这个网站上有人知道如何做到这一点 EDIT 所以我进一步研究了这个问题 发现如果你把 meta 放在网络
  • Windows 10 通用应用程序 - 类型同时存在于“Windows.Foundation.UniversalApiContract”中

    不知何故 我什至没有做任何事情 我在 Visual Studio 2015 中遇到很多错误 但我无法理解问题到底是什么 它说两个 Windows Foundation UniversalApiContract 库中都存在很多 类型 有人可以
  • 将 defer 与指针一起使用

    假设我有以下代码 func getConnection fileName string os File file err os Open fileName Check for error return file 我使用此函数打开一个文件 并
  • clang 对 C++ 11 lambda 的支持

    我有这个使用 lambda 的 C 11 代码 这是一个示例 include
  • 线程创建、CRT 和 DLL 是如何完成的?

    所以我知道 CreateThread 和 CRT 可能会导致内存泄漏 信号不起作用 应该使用 beginthread 或 beginthreadex 函数 在编写应用程序时这一切都很好 但是那些为其他应用程序编写 dll 等的人 无论是普通
  • django-mptt 引发 django.db.utils.IntegrityError:列“lft”中的空值违反了非空约束

    条件 Django 1 8 7 和 django mptt 0 8 0 有一个模型 class Tree mptt models MPTTModel name models CharField max length 120 unique T