gpt4 book ai didi

python - 是否可以使用 TastyPie 对 ToManyField 属性中的元素进行排序?

转载 作者:行者123 更新时间:2023-11-28 21:27:23 25 4
gpt4 key购买 nike

我有一个使用 Django Tastypie 的 REST API。给定以下代码

模型

class BlogPost(models.Model):
# class body omitted, it has a content and an author


class Comment(models.Model):
blog_post = models.ForeignKey(BlogPost, related_name="comments")
published = models.DateTimeField()
# rest of class omitted

资源

class CommentResource:
# omitted

class BlogPostResource(ModelResource):

comments = fields.ToManyField("resources.CommentResource",
attribute="comments")

当我请求一篇博文时,我得到类似这样的信息:

GET: api/blogpost/4/

{
'content' : "....",
'author' : "....",
'comments' : ['api/comment/4/', 'api/comment/5']
}

但是,评论不一定按任何字段排序。我想确保它们按特定键排序 (published)

有什么办法可以实现吗?

最佳答案

我设法通过将 BlogPostResource 中的字段更改为以下内容来解决问题:

class BlogPostResource(ModelResource):

comments = fields.ToManyField("resources.CommentResource",
attribute=lambda bundle: bundle.obj.comments.all().order_by("published"))

关于python - 是否可以使用 TastyPie 对 ToManyField 属性中的元素进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11058839/

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