基于关键字

时间:2015-06-24 18:59:06

标签: mysql django python-3.x django-queryset

是否可以在订单取决于关键字的情况下进行自定义排序?

想象一下,我有一个包含codename列的表格。

值为:

BASK - Basketball
BSBL - Baseball
ABAL - Angle Ball
BALC - Code Ball

我点击搜索框中的单词" BA"。查询将是

`Balls.objects.filter(Q(code__istartswith="BA") | Q(name__icontains="BA"))`

我将如何制作它以使结果处于以" BA"开头的代码的顺序。将首先列在清单上(按代码排序),然后是以" BA"开头的名称。 (按名称排序),然后是包含" BA"的代码的排序结果。 +包含" BA"

的名称

预期结果应为

BALC - Code Ball
BASK - Basketball
BSBL - Baseball
ABAL - Angle Ball

对于" BAL",结果顺序应为

BALC - Code Ball
ABAL - Angle Ball
BSBL - Baseball
BASK - Basketball

有没有办法通过django queryset或自定义mysql查询来做到这一点?如果通过mysql然后我知道我将不得不使用.extra()方法

0 个答案:

没有答案