Заказать результаты запроса 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')
Мне нужен только конечный результат: QuerySet
, упорядоченный по имени пользователя, связанный с ForeignKey
.
Я действительно нахожусь на грани этого.
Все, что могло бы помочь: какой-то метод, на который я не смотрел, был бы весьма полезен реальный необработанный SQL-запрос или даже просто общая идея!
Ответы
Ответ 1
Введенный вами запрос выглядит действительным.
Посмотрите на порядок по документам 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