【发布时间】:2014-04-09 22:50:58
【问题描述】:
我在网上搜索过,只能找到一个博客,它似乎是为了保持查询列表的顺序而进行的骇人听闻的尝试。我希望使用带有字符串列表的 ORM 进行查询,但是这样做并不能保持列表的顺序。
据我了解,bulk_query 仅在您拥有要查询的项目的 ID 时才有效。
谁能推荐一种通过字符串列表进行查询并确保对象保持正确顺序的理想方法?
所以在一个完美的世界里,我可以通过做这样的事情来查询一组对象......
Entry.objects.filter(id__in=['list', 'of', 'strings'])
但是,它们不保持顺序,因此字符串可能在列表等之前...
我看到的唯一解决方法,我可能只是累了,或者这可能完全可以接受,我不确定这样做......
for i in listOfStrings:
object = Object.objects.get(title=str(i))
myIterableCorrectOrderedList.append(object)
谢谢,
【问题讨论】:
-
您能否举一个查询示例以及您期望得到什么?我可以在脑海中想象一些东西,但我不知道我所想象的是否是你真正想要的。
-
我已经更新了我的问题,基本上我的解决方案是可行的,看起来肯定有更好的东西吗?
-
我看到了那个答案,但它似乎并不适用。基本上我有一个电影列表,这是某人最喜欢的列表,要查询该列表,我需要按照他们给它们的顺序排列。 (按最喜欢的)它们不能按字母顺序、ID 等排序...我本可以为他们最喜欢的电影排名建立一个多对多表,但这有点事后才想到。
标签: django