订购Django的查询结果外键
问题描述:
我有一个设置为模型如下:订购Django的查询结果外键
class Log(models.Model):
name = models.ForeignKey(User)
date = models.DateField()
time = models.TimeField()
我知道这是不行的,但在那里我可以运行查询像这样任何其他方式:
Logs.objects.filter(date=someDate).order_by('name__last_name')
我只需要最后的结果是由由ForeignKey
相关用户的姓氏下令QuerySet
。
我真的在我的智慧结束这一个。 任何事情都会有所帮助:一些我没有看过的方法,一个实际的原始SQL查询,甚至只是一个普遍的想法,将不胜感激!
答
您输入的查询看起来有效。
看文档here
的订单。
它不适合你吗?
例如(格式为便于阅读):
>>> units = Unit.objects.filter(color='red').order_by('location__label')
>>> print units.query
SELECT `samples_unit`.`id`, `samples_unit`.`location_id`, `samples_unit`.`color`
FROM `samples_unit`
INNER JOIN `storages_container`
ON (`samples_unit`.`location_id` = `storages_container`.`id`)
WHERE `samples_unit`.`color` = red
ORDER BY `storages_container`.`label` ASC
+1
它确实有效,现在就是这样。 @DTing指出了我在调用中导致整个问题的一个非常小的拼写错误。不知何故,我只是无法从错误消息中推断出来! – chandsie 2011-04-22 01:00:41
你增加了一个在你的查询日志。这应该是'Log.objects.filter(date = someDate).order_by('name__last_name')' – DTing 2011-04-22 00:25:59