我的应用程序中有两个模型,A
,B
。你知道吗
A
应该与B
具有一对多关系,因此B
将ForeignKey
属性传递给A
。你知道吗
然而,这些关系只是在一段时间后建立起来的,而不是在实例化B
的对象时建立起来的。我从文档中了解到,在本例中,我应该使用null=True
作为B
的ForeignKey的参数。B
表实际上如下所示:
CREATE TABLE "B" (
"id" integer NOT NULL PRIMARY KEY,
"name" varchar(128) NOT NULL,
"applied_with_id" integer REFERENCES "A" ("id")
)
;
在我的B
模型中,我将applied_with
字段设置为
applied_with = models.ForeignKey('A', null=True)
如Django文档中所示,对引用的模型使用字符串参数。你知道吗
注意,applied_with_id
中的NOT NULL
约束通过使用null=True
而不存在。你知道吗
然而,当我现在开始创建一个B
对象时,我得到
django.db.utils.IntegrityError: B.applied_with_id may not be NULL
我不明白这其中的原因,还有,一个人怎样才能建立一对多的关系,而这种关系只是在一段时间后才建立起来的?
我在这里查看了有关null
ForeignKeys的相关文章,但唯一相关的文章似乎是updatedb
解决了问题(没有任何模型更改)。我使用的是django1.5,并且使用了等价的syncdb
,但是没有成功。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐