gpt4 book ai didi

python - Django 查询嵌套时间列表 Django 1.2

转载 作者:行者123 更新时间:2023-11-30 00:58:25 25 4
gpt4 key购买 nike

我有一个对象列表,它们通过外键关系形成树结构。

parent = models.ForeignKey( 'Category', related_name = 'child_set', null = True )

因此每个类别对象都有子对象,它们也是类别对象。我想以尽可能少的次数访问数据库的方式将它们从数据库中取出。我以前的代码如下所示:

def get_nested_categories(self):
categories = []
for child in self.child_set.all():
categories.append(child)
categories += child.get_nested_categories()
return categories

但这会导致数据库受到多次点击并导致速度缓慢,特别是当我的类别列表增长超出了我的预期时。有没有办法优化这段代码?

最佳答案

这不是一个 Django ORM 问题,而是一个较低级别的关系建模问题。查看此相关问题nested sets and adjacency lists详细了解关系数据库中的选项。除此之外,您还可以针对这种特定的数据结构采用面向文档的 (NoSQL) 策略。

关于python - Django 查询嵌套时间列表 Django 1.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20362329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com