-1

django todo list の例 (ここから入手可能) では、todolist 項目の 2 つ目のテーブルを作成して、外部キーで参照できるようにします。

自分自身への外部キーを使用しない正当な理由はありますか?

class DateTime(models.Model):
    datetime = models.DateTimeField(auto_now_add=True)
    def __unicode__(self):
        return unicode(self.datetime)

class Item(models.Model):
    name = models.CharField(max_length=60)
    created = models.ForeignKey(DateTime)
    priority = models.IntegerField(default=0)
    difficulty = models.IntegerField(default=0)
    done = models.BooleanField(default=False)

私はそれが次のようになるべきだと思います:

class Item(models.Model):
    datetime = models.DateTimeField(auto_now_add=True)
    name = models.CharField(max_length=60)
    created = models.ForeignKey(self)
    priority = models.IntegerField(default=0)
    difficulty = models.IntegerField(default=0)
    done = models.BooleanField(default=False)

私は何が欠けていますか?

4

1 に答える 1

0

それはチュートリアルで説明されています:彼らが認めているように、管理者のインラインフォームセット機能を介して一度に複数のアイテムを追加できるようにするのは、「少しハックなソリューション」です (実際には非常にそう言えます)。

于 2012-10-13T22:11:20.067 に答える