【问题标题】:Django QuerySet sorting not iterating in orderDjango QuerySet 排序不按顺序迭代
【发布时间】:2015-12-09 17:07:43
【问题描述】:

我正在尝试根据列(浮点类型)按降序对表(模型)进行排序。

studs = student.objects.all().order_by('-marks')

之后,我尝试迭代生成的查询集,以便按分数降序排列学生。

for stud in studs:

当我在第一次迭代中检查 stud 的值时,它没有显示最高分的学生详细信息。

请大家帮我看看代码有什么问题

学生模型如下。

class student(models.Model):
   reg_no = models.CharField(max_length=10,primary_key=True)
   roll_no = models.CharField(max_length=4)
   name = models.CharField(max_length=50)
   dept_code = models.ForeignKey('department')
   marks = models.FloatField()

它在模板中运行良好。但我必须在我的 views.py 文件中执行此操作,并且它没有按我的预期工作。

【问题讨论】:

  • 请编辑您的问题,向我们展示student 的模型。
  • 我已提供详细信息

标签: django sorting iteration sql-order-by django-queryset


【解决方案1】:

您可以在模型元数据中添加order_with_respect_to

class Meta:
        order_with_respect_to = '-marks'

或者通过模板使用模板过滤器

{{ stud|dictsort:"-marks" }}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 2022-09-28
    • 2011-02-24
    • 2013-01-20
    • 1970-01-01
    相关资源
    最近更新 更多