我正在关注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对象是否不应该立即具有主键?