Django模型的递归关系

Tra*_*ian 1 django recursion relationship models

  1. 为什么要创建递归关系?
  2.     aField = models.ForeignKey('self')
    
  3. 这与上述相同吗?
        class aClass(models.Model):  
        aField = models.ForeignKey('aClass')

ser*_*ach 5

  1. 当您希望父节点和子节点具有相同的模型结构时,可能需要创建递归关系.例如,如果您对text,data和user_id有评论:

    class Comment( models.Model ):
        text = models.TextField()
        create_date_time = models.DateTimeField()
        parent_comment = models.ForeignKey( 'self' )
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我想是的(你可以尝试测试它)但它不是一个好的形式.如果更改类名,则必须更改括号中的字符串值.如果你使用'self',你就不会有这种头痛.