Django - null ForeignKey

时间:2010-11-07 10:38:03

标签: django django-models django-admin foreign-keys

我将带有ForeignKey的SubForum类转换为自我父级:

class Forum(models.Model):
    name = models.CharField(max_length=200)
    url = models.URLField()

class SubForum(models.Model):
    name = models.CharField(max_length=200)
    orginal_id = models.IntegerField()

    forum = models.ForeignKey('Forum')
    parent = models.ForeignKey('self', null=True, blank=True)

我想允许null和空白的enteries - 我看到了这个例子,这是一个正确的方法。

在sql视图中一切正常:

BEGIN;CREATE TABLE "main_forum" (
    "id" integer NOT NULL PRIMARY KEY,
    "name" varchar(200) NOT NULL,
    "url" varchar(200) NOT NULL
)
;
CREATE TABLE "main_subforum" (
    "id" integer NOT NULL PRIMARY KEY,
    "name" varchar(200) NOT NULL,
    "orginal_id" integer NOT NULL,
    "forum_id" integer NOT NULL REFERENCES "main_forum" ("id"),
    "parent_id" integer
)
;COMMIT;

parent_id字段中没有NOT NULL,但是当我想使用管理面板添加新的SubForum而没有设置父级时,我会收到错误:

Cannot assign None: "SubForum.parent" does not allow null values.

怎么了?

1 个答案:

答案 0 :(得分:2)

我做了一些更改,将其还原,现在一切正常......我发现这里发布的代码没有任何区别......

我应该删除问题吗?