gpt4 book ai didi

Django多对一关系: NOT NULL constraint failed

转载 作者:行者123 更新时间:2023-12-02 06:40:22 25 4
gpt4 key购买 nike

我正在尝试将数据添加到多对一关系表。

# models.py
class Exp(models.Model):
name = models.CharField(max_length=20)

class Analysis(models.Model):
run = models.ForeignKey(Run)


# my_management_command.py
experiment = Exp(name='sss')
analysis = Analysis(run=experiment)
analysis.save()

它在管理页面中工作正常,但在我的管理命令中,它在尝试保存时失败:

django.db.utils.IntegrityError: NOT NULL constraint failed: webint_analysis.exp_id

为什么它会提示 id 以及如何解决这个问题?请注意,我删除了数据库以确保这与迁移无关。

最佳答案

当您尝试在 Analysis 对象创建中使用它时,您的 Exp 对象没有数据库 ID。您应该首先保存第一个对象然后使用它。

您可以执行以下操作

experiment = Exp(name='sss')
experiment.save()
analysis = Analysis(run=experiment)
analysis.save()

或者您可以使用以下内容

experiment = Exp.objects.create(name="sss")
analysis = Analysis.objects.create(run=experiment)

关于Django多对一关系: NOT NULL constraint failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30428749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com