web-dev-qa-db-ja.com

順序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クエリ、または追求する一般的なアイデアでさえ大いに感謝されます!

20
chandsie

入力したクエリは有効に見えます。

ドキュメントによる順序を見てください 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
20
DTing