gpt4 book ai didi

google-app-engine - 在 NDB 查询中按父级分组

转载 作者:太空宇宙 更新时间:2023-11-03 15:29:09 25 4
gpt4 key购买 nike

假设我有一个包含学校、类(class)和学生模型的模型。在这个模型中,类(class)是学校的 child ,学生是类(class)的 child 。我想要的是让所有学生按类(class)分组。

使用 NDB 我可以通过以下方式联系学校 A 的学生:

school_key = ndb.Key( 'School', 'A' )
all_students_in_A = Student.query( ancestor = school_key ).fetch( )

但是,我想让学生按类(class)分组。查看文档,查询接受 group_by 参数,但仅适用于模型的实际字段。

最佳答案

我一直在使用 itertools 中的 python groupby 函数来后期处理和分组实体。

您的选择需要按要求的顺序排序,在您的情况下是按键,因为您的 parent 在键中。

这种方法将维持顺序。

http://docs.python.org/2/library/itertools.html#itertools.groupby

我得到的代码不容易共享,因为我拥有的分组功能是存储/可授权查询实体的一部分,该实体允许按结果项的多个属性进行分组,并且实现分布在许多方法中。但是,如果您想查看一些代码,请大声说出来。

关于google-app-engine - 在 NDB 查询中按父级分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19770742/

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