2009-09-02 9 views
0

私の質問Get Foreign Key Valueから、私は所望の出力を得ることができました。私は年までに自分のレコードを並べ替え、作成し、その順番でモデル化したいと思っています。私はそれがVehicle.objects.all().order_by('common_vehicle')と同じくらい簡単だと思ったが、これは何も並べ替えていない。外部キーを使用したレコードの並べ替え

答えて

0

関連クラスの特定のフィールドで注文する必要があります。ダブルアンダースコア形式を使用してこれを行います。したがって、たとえば:

Vehicle.objects.order_by('common_vehicle__year', 'common_vehicle__series__model__model') 

Seriesクラスを介して関連するModelクラスのmodel値次いで、CommonVehicleyearクラスの値によってソートします。

これは、ジョインのlotであり、クエリのパフォーマンスが非常に遅くなる可能性があることに注意してください。あなたのニーズにはうまくいくかもしれませんが、これはラインの遅さの潜在的な原因であることを見出しています。

+0

二重のアンダースコアについては知りませんでした。今のところはこれが必要です...クエリのパフォーマンスを確認することに留意します。 Thnx :) –