Подтвердить что ты не робот

Заказать результаты запроса 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-запрос или даже просто общая идея!

4b9b3361

Ответ 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