如何在保留顺序的情况下查询列表

Law*_*uki 5 python django django-models django-orm

我想根据列表进行查询。我知道我可以这样做:

lists = [Everton, Liverpool, Villa]
queryset = Betting.objects.filter(matches__in=list)
Run Code Online (Sandbox Code Playgroud)

但是,这不会按顺序查询表。我正在做的操作是基于fuzzywuzzy的,并且至关重要的是查询是按照列表的顺序完成的

我已经看到这个解决方案django-create-a-queryset-from-a-list-preserving-order.html但它似乎不适用于 sqllite

谢谢..任何帮助将不胜感激

Shu*_*wal 0

不太确定效率,但这可能是一种方法

lists = [Everton, Liverpool, Villa]
queryset = Betting.objects.all()
for i in lists:
    queryset = queryset.filter(matches=i)
Run Code Online (Sandbox Code Playgroud)

你可以这样做的原因是,如果你这样做,queryset.filter(some condition).filter(some other condition),那么结果实际上是两个过滤器按顺序的并集