订购查询集字段

时间:2016-02-02 21:08:55

标签: json django

我正在从查询集中获取值并将其序列化为json: JsonResponse( list( Company.objects.defer('id').all().values() ), safe = False )

所以,如果company包含以下字段:NameDescriptionEmployees 如何控制字段的顺序。如果我说order_by('Name'),那么我的结果将根据名称进行排序。

相反,我想将其指定为DescriptionNameEmployees并按相同顺序获取答案。

1 个答案:

答案 0 :(得分:1)

我假设员工是模特公司的外键,您需要按照“姓名'名称'员工姓名& #39;

应该是这样的:

Company.objects.all().order_by('description', 'name', 'employees__name')

如果您指定make,请执行以下操作:

Company.objects.all().order_by('description', 'name', 'employees')

它将按描述,名称和员工参考进行排序,实际上不会提供您想要的订单。

编辑1 如果员工是字符字段,您还可以执行以下操作

class Company(models.Model):
    .....
    class Meta:
       ordering = ['description', 'name', 'employees']