django中的排序不起作用

时间:2018-01-03 16:58:12

标签: python django

我的django项目中有这个模型:

class Archivos(models.Model):

    ramo = models.ForeignKey(Ramo, on_delete=models.CASCADE)
    anyo = models.PositiveIntegerField()
    semestre = models.PositiveIntegerField()
    tipo = models.CharField(max_length=20)
    detalle_tipo = models.IntegerField()
    extension = models.CharField(max_length=5)
    archivo = models.FileField(upload_to='archivo/', null=True)

    def __str__(self):
        return '%s %s %s %s %s %s' % (self.ramo, self.anyo, self.semestre, self.tipo, self.detalle_tipo, self.extension)

当我尝试查询此对象时,按-anyo(年降序)排序,对象列表按升序排序。

这是我的疑问:

archivos = Archivos.objects.filter(ramo=ramo.id).order_by('-anyo', 'semestre','detalle_tipo')

我尝试在我的模型中添加Meta类,如下所示:

class Meta:
    ordering = ['-anyo']

但该名单仍在按升序排序。如果查询是由anyo或-anyo排序,则无关紧要。 怎么解决这个问题?

我正在使用最新版本的Django。

0 个答案:

没有答案