django1.7中的一个write-simple应用程序。是表示链接列表元素的模型:
class TrainingUserWordSetItem(models.Model):
training_set = models.ForeignKey(TrainingUserWordSet)
user_word = models.ForeignKey(UserWord)
prev_item = models.ForeignKey("TrainingUserWordSetItem", null=True, default=None)
next_item = models.ForeignKey("TrainingUserWordSetItem", null=True, default=None)
迁移时,我收到一个错误:
^{pr2}$如何生成两个自引用外键字段?在
更新:
帮助使用相关的_name='+':
class TrainingUserWordSetItem(models.Model):
training_set = models.ForeignKey(TrainingUserWordSet)
user_word = models.ForeignKey(UserWord)
prev_item = models.ForeignKey("TrainingUserWordSetItem", null=True, default=None)
next_item = models.ForeignKey("TrainingUserWordSetItem", null=True, default=None, related_name='+')
实际上,你可以用一个字段完成你正在尝试的任务。我相信这会奏效:
注意'self'的用法;根据Django documentation,
To create a recursive relationship – an object that has a many-to-one relationship with itself – use models.ForeignKey('self').
另外,我建议用OneToOneField而不是ForeignKey来尝试这个,假设每个条目都只有一个上一个条目和一个下一个条目。在
相关问题 更多 >
编程相关推荐