- 为什么要创建递归关系?
- 这和上面的一样吗?
aField = models.ForeignKey('self')
类aClass(模型。模型): aField = models.ForeignKey('aClass')
aField = models.ForeignKey('self')
类aClass(模型。模型): aField = models.ForeignKey('aClass')
当您希望父节点和子节点具有相同的模型结构时,您可能需要创建递归关系。例如,如果您有带有文本、数据和 user_id 的评论:
class Comment( models.Model ):
text = models.TextField()
create_date_time = models.DateTimeField()
parent_comment = models.ForeignKey( 'self' )
我认为是的(您可以尝试对其进行测试),但这不是一个好的形式。如果更改类名,则必须更改括号中的字符串值。如果你使用'self',你就不会那么头疼了。