Django通过外键字段排序

时间:2019-03-12 10:21:44

标签: django python-3.x django-models

我有以下两种型号:

class Project(models.Model):
    name = models.TexField()

class Item(models.Model):
    project = models.ForeignKey(Project,on_delete=models.CASCADE, related_name='project_item')
    name = models.TextField()
    available = models.FloatField()

因此,我需要获取所有项目,但是我希望它们这样,所有具有available大于0的项目的项目都应排在首位。

我尝试过:

list = Projects.objects.filter(**Some Fields**).order_by(available)

如何排序此列表?

1 个答案:

答案 0 :(得分:2)

您可以在带有双下划线的排序子句中遵循关系,如下所示: 列表= Projects.objects.filter(**某些字段**)。order_by('-item__available') 这会根据相关项目的可用字段以降序排列项目。