Python Django中的查询树模型
通常如何查询可以嵌套的注释线程Python Django中的查询树模型,python,django,serialization,model,django-rest-framework,Python,Django,Serialization,Model,Django Rest Framework,通常如何查询可以嵌套的注释线程 from django.db import models class Comment (models.Model): # if parent is blank, comment is top level parent = models.ForeignKey('Comment', related_name='children', null=
from django.db import models
class Comment (models.Model):
# if parent is blank, comment is top level
parent = models.ForeignKey('Comment',
related_name='children',
null=True)
text = models.TextField(blank=True)
def __repr__(self):
return self.text
"""
from tree.models import Comment
c1 = Comment(text='c1')
c1.save()
c11 = Comment(text='c11', parent=c1)
c12 = Comment(text='c12', parent=c1)
c11.save()
c12.save()
c111 = Comment(text='c111', parent=c11)
c112 = Comment(text='c112', parent=c11)
c111.save()
c112.save()
c1.children.all() -> return [c111, c112] should return [c111, c112, c11, c12]
"""
在上面的示例中,我创建了一棵树
c1
c11 c12
c111 c112
并尝试查询c1的子级,但它只返回直接的子级。是否需要在序列化程序中编写自定义查询? 是否考虑使用?它在内部执行存储树的正确索引的工作,这样可以高效地查询树。我极力推荐