2010-11-07 67 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