2009-05-10 10 views
4

私自身のGroupモデルを作成しています。私は組み込みのGroupモデルを参照していません。私はそれぞれのグループを別のグループ(それは親)のメンバーにしたいが、親グループを持たない1つの "トップ"グループがある。Djangoモデルを作成するときに「parent_idがNULLでない可能性があります。」

adminインターフェイスでは、親を入力せずにグループを作成することはできません。エラーpersonnel_group.parent_id may not be NULLが表示されます。私のGroupモデルは次のようになります:

class Group(models.Model): 
    name = models.CharField(max_length=50) 
    parent = models.ForeignKey('self', blank=True, null=True) 
    order = models.IntegerField() 
    icon = models.ImageField(upload_to='groups', blank=True, null=True) 
    description = models.TextField(blank=True, null=True) 

どうすればこのことができますか?

ありがとうございました。

+0

を落とすことなく、この種の問題のあなたを得るでしょうので、実際のタイトルは次のようになります。私はモデルフィールド –

答えて

6

私はparentフィールド定義にblank=True, null=Trueを追加する前に、私は、データベースを作成しました。 syncdbはそのタイプの変更を扱うことができないので、Djangoは自分の変更を拾っていませんでした。

データベースを削除してsyncdbに別のデータベースを作成させても問題ありません。

+3

に真= =空白Trueの場合、nullを追加するときに、なぜsyncdbの実行には、失敗しませんSouthのようなデータベーススキーム移行ツールの使用を検討する必要があります。 –

+0

多分データベース全体を削除する代わりにこれを行うより良い方法はありますか? – niklasfi

+0

@niklasfi Southを使用している場合、dbを削除する必要はありません。 –

0

Djangoの進化は、あなたの完全なデータベース

関連する問題