-1

在 django todo list 示例中,可在此处获得,他们创建了第二个 todolist 项目表,以便他们可以使用外键引用它。

他们不只是使用外键来自我介绍有什么好的理由吗?

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

教程中对此进行了解释:正如他们承认的那样,通过管理员的内联表单集功能一次添加多个项目是一个“稍微有点 hack-y 的解决方案”(实际上我会说非常)。

于 2012-10-13T22:11:20.067 回答