我正在使用tastepie从我的django模型创建json但是我遇到了一个我认为应该有一个简单修复的问题。
我有一个对象博客,它有评论对象的孩子。我希望能够用我的 json 做这样的事情:
/api/v1/blogs/?order_by=comment_count
但我不知道如何对不属于原始评论/博客模型的字段进行排序。我自己在一个脱水方法中创建了comment_count,该方法只接受评论数组并返回comments.count()
任何帮助将不胜感激 - 我似乎找不到任何解释。
如果我理解正确,这应该会有所帮助:
Blog.objects.annotate(comment_count=Count('comments')).order_by('comment_count')
You might be able to do it with extra like something like:
Blog.objects.extra(
select={
'entry_count': 'SELECT COUNT(*) FROM blog_entry WHERE blog_entry.blog_id = blog_blog.id'
},
order_by = ['-entry_count'],
)
I haven't tested this, but it should work. The caveat is it will only work with a relational database.