2010-11-07 9 views
9

J'ai classe avec subforum ForeignKey à l'auto - parent:Django - ForeignKey null

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) 

Je veux permettre enteries nuls et blancs - j'ai vu des exemples que cela est une bonne façon de le faire.

Vu sql tout est ok:

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; 

Dans le champ parent_id il n'y a pas NOT NULL, mais quand je veux ajouter une nouvelle sous-forum en utilisant le panneau d'administration sans réglage parent i get erreur:

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

Qu'est-ce qui ne va pas?

Répondre

2

J'ai fait quelques changements, il est revenu en arrière et maintenant tout fonctionne bien ... et je ne vois aucune différence avec le code que je posté ici ...

Dois-je supprimer la question?

+0

Avez-vous par hasard pas mis à jourb avant de trouver que cela n'a pas fonctionné. Ensuite, dans vos efforts pour résoudre le problème, vous avez lancé le updatedb et votre base de données a été mise à jour? – wilbbe01

+0

J'ai couru mis à jour quelques fois, donc en ce moment est difficile de dire quel problème résolu .. – pbm

+4

Non, vous ne devriez pas le supprimer. Un an plus tard, c'était un bon exemple pour moi. –

Questions connexes