在django待办事项列表示例available here中,他们创建了第二个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)
我错过了什么?
答案 0 :(得分:0)
教程中对此进行了解释:正如他们承认的那样,这是一个“有点黑客的解决方案”(实际上我会说非常),可以通过内联的formset功能一次性添加多个项目。管理员。