例えば組織図なんかのmodelを構築する際に、「属する部門」を表現するには再帰的なリレーションを使うことになると思います。「部門が属する部門」ですね。
class Div(models.Model):
name = models.CharField(max_length=100)
upper = models.ForeignKey(Div)
だと、syncdbの時に「Divなんてありません」と怒られてしまいます。そりゃそうだ。
ので、
class Div(models.Model):
name = models.CharField(max_length=100)
upper = models.ForeignKey(‘self’)
と書きます。
Python2.5、Django1.1.1でのお話でした。