2010-11-07 68 views
9

我有课分论坛与ForeignKey的自我 - 父:Django的 - 空ForeignKey的

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) 

我想允许空和空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,但是当我想用管理面板添加新的分论坛没有设置父我得到错误:

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

怎么了?

回答

2

我做了一些改变,恢复回来,现在一切正常......我没有看到,我这里贴的代码有什么区别...

我应该删除的问题?

+0

你有没有任何机会没有更新之前,发现它没有工作。那么在你解决问题的努力中,你运行了updatedb并且你的数据库被更新了? – wilbbe01 2010-11-14 03:07:26

+0

我跑了updatedb几次,所以在这一刻很难说什么解决了问题.. – pbm 2010-11-15 16:21:38

+4

不,你不应该删除它。一年后,这是我的一个很好的例子。 – 2012-09-17 05:04:12