gpt4 book ai didi

python - 在 django 模型中加载树结构时出现问题

转载 作者:太空宇宙 更新时间:2023-11-03 18:50:34 27 4
gpt4 key购买 nike

我有 2 个这样的 django 模型

class Thread(models.Model):

title = models.CharField(max_length=255, blank=True)

class Post(models.Model):

message = models.TextField(blank=True)
thread = models.ForeignKey(Thread, related_name='posts')
depth = models.PositiveIntegerField(default=0)
reply_to = models.ForeignKey('self', null=True, related_name='replies',
blank=True)

我注意到当我这样做时

roots = Thread.posts.filter(depth=0)
for post in roots:
replies = post.replies

django 执行查询来获取所有根,然后执行新查询来获取特定帖子的子项,我知道我将处理特定线程中的所有帖子。

我想知道是否有一种方法可以让 django 通过一个查询加载所有帖子,并且我还可以使用模型的关系递归地获取所有子项。

最佳答案

它不是 django 内置的,但您可以使用 Treebeard 或 django-mptt 等应用程序来实现此目的。

https://tabo.pe/projects/django-treebeard/

https://github.com/django-mptt/django-mptt

关于python - 在 django 模型中加载树结构时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18444504/

27 4 0
文章推荐: c# - PFX ConcurrentQueue - 有没有办法从队列中删除特定项目
文章推荐: python - 使用类方法为每个实例注册唯一的回调
文章推荐: python - 删除
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com