1
- 为什么要创建一个递归关系?
- 这是与上面的一样吗?
aField = models.ForeignKey('self')
class aClass(models.Model): aField = models.ForeignKey('aClass')
aField = models.ForeignKey('self')
class aClass(models.Model): aField = models.ForeignKey('aClass')
您可能需要创建一个递归关系,当你想拥有具有相同的模型结构父和子节点。例如,如果您有文字,数据及user_ID的评论:
class Comment(models.Model):
text = models.TextField()
create_date_time = models.DateTimeField()
parent_comment = models.ForeignKey('self')
我想是的(你可以尝试进行测试),但它不是一种好形式。如果您更改类名称,则必须更改括号中的字符串值。如果你使用'自我',你没有这个头痛。
我不明白你的第一个问题。 “为什么我会创建...”。我们不知道为什么。 – sergzach
1.如果你的模型对象应该形成某种关系,即在树中,除了根以外的每个对象都应该有一个父对象。 – Bula