为什么保存子实例时未保存的父类实例会引起NOT NULL约束错误?

时间:2019-12-19 13:46:14

标签: django django-models

我正在关注YouTube上印制的Pretty教程。在本教程中,他尝试使用未保存的父模型实例Language实例化子模型实例。但是当他运行代码时,他得到了IntegrityError: NOT NULL constraint failed: example_framework.language_id

然后,讲述人解释这是因为他没有先在父实例上调用save(),而没有主键。这是本教程的代码,也是他遇到错误的youtube部分:https://youtu.be/2KqhBkMv7aM?t=440

java = Language(name='Java')
    spring = Framework(name='Spring', language=java)
    java.save()
    spring.save()

我不明白为什么这会导致错误。 Spring不会引用java变量引用的同一对象吗?因此,如果在Java上调用save(),spring变量引用的Framework对象是否不应该立即具有主键?

0 个答案:

没有答案
相关问题