Django-如何在查询集中获得倒数第二个记录?

时间:2016-02-10 05:19:31

标签: django python-2.7

我有一个名为 employees_salary 模型,我需要获得员工的第二高薪

我得到的是 - 我可以过滤 latest(),first(),last()

这是有效的但如何过滤最后一次我错过了什么

请帮忙

2 个答案:

答案 0 :(得分:12)

class Salaries(models.Model):

  employee_name = models.CharField(max_length=255)
  salary = models.IntegerField()


q = Salaries.objects.all().order_by('-salary)

second_highest_paid_name = q[1].employee_name

答案 1 :(得分:2)

这种方式也可以使用

class EmployeeSalary(models.Model):    
    employee_name = models.CharField(max_length=255)
    salary = models.IntegerField()

#code for view
q = EmployeeSalary.objects.all().order_by('-salary')[1:1]
second_paid_name = q[0].employee_name
second_paid_salary = q[0].salary