次のように設定されたモデルがあります。
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クエリ、または追求する一般的なアイデアでさえ大いに感謝されます!
入力したクエリは有効に見えます。
ドキュメントによる順序を見てください 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