我想根据列表进行查询。我知道我可以这样做:
$(document).ready(function(){
$(this).scrollTop(0);
});
但是,这并不按顺序查询表。我正在进行的操作基于fuzzywuzzy,并且按照列表的顺序进行查询至关重要
我见过这个解决方案django-create-a-queryset-from-a-list-preserving-order.html,但它似乎不适用于sqllite
谢谢。任何帮助将不胜感激
答案 0 :(得分:1)
尝试这样的事情:
from django.db.models import Case, Value, When, IntegerField
cases = [When(matches=x, then=Value(i)) for i,x in enumerate(lists)]
case = Case(*cases, output_field=IntegerField())
queryset = Betting.objects.filter(matches__in=lists)
queryset = queryset.annotate(my_order=case).order_by('my_order')
答案 1 :(得分:0)
不确定效率,但它可以是一种方式
lists = [Everton, Liverpool, Villa]
queryset = Betting.objects.all()
for i in lists:
queryset = queryset.filter(matches=i)
你可以这样做的原因是,如果你这样做,queryset.filter(某些条件).filter(其他一些条件),那么结果实际上是两个过滤器的顺序联合