在Python / Django中按升序过滤

时间:2018-04-11 19:36:51

标签: python django

我正在尝试在 Python / django 中运行过滤器。所有数据都来自DB。此查询目前有效但我希望能够按照名称优先和之后的升序显示它。任何帮助都会有所帮助。

query = request.GET.get('q')
   if query:
       data = Data.objects.filter(Q(name__icontains=query) | Q(description_icontains=query)).distinct()

1 个答案:

答案 0 :(得分:0)

你可以用两种不同的方式做到这一点,
1.提及模型类中的default排序,如下所示

class Data(models.Model):
    name = models.CharField(max_length=100)
    description = models.CharField(max_length=100)

    # other fields   

    class Meta:
        ordering = ('name',)


2.用django orm明确提及.order_by(),如下所示

Data.objects.filter(filter_conditions).order_by('name')