django订单(按相关字段)

django订单(按相关字段),django,django-models,Django,Django Models,我想按相关字段对联系人查询集进行排序。但我不知道怎么做。 我像这样试过,但不起作用 foundContacts.order_by("classification.kam") 实际上,在一个模板中,我可以通过contact.classification.kam访问联系人的kam值,因为它是一个OneToOne关系 (简化)模型如下所示: class Classification(models.Model): kam = models.ForeignKey(User) contac

我想按相关字段对联系人查询集进行排序。但我不知道怎么做。 我像这样试过,但不起作用

foundContacts.order_by("classification.kam")
实际上,在一个模板中,我可以通过contact.classification.kam访问联系人的kam值,因为它是一个OneToOne关系

(简化)模型如下所示:

class Classification(models.Model):
    kam = models.ForeignKey(User)
    contact = models.OneToOneField(Contact)

class Contact(models.Model):
    title = models.ForeignKey(Title, blank=True, null=True)
    first_name = models.CharField(max_length=200)
    last_name = models.CharField(max_length=200)
应该是:

foundContacts.order_by("classification__kam")
以下是Django文档关于跨关系查询的链接:

您还可以通过reference:

如文档所示,它应该像查询相关模型一样使用


语法是正确的,但这与视图与模板无关。您根本不能在模板中进行这种排序(因为模板语法不允许您使用参数调用函数)。但双下划线语法用于函数调用中的所有关系遍历-筛选、注释、排序依据等。而正常的点语法用于有对象并希望引用相关对象的情况。措辞很糟糕,我已将其删除。您必须替换版本号(例如
1.6
)在包含要查看的版本的url中<代码>开发版本将始终可用:
foundContacts.order_by("classification__kam")