2017-06-06 3 views
0

オブジェクトのタイムスタンプセットに基づいてクエリセットを注文することを検討しています。Django最新の外部キーのタイムスタンプに基づいてオブジェクトを取得するクエリ。

は、ここで簡単な例です:

Class Device(models.Model: 
    status = models.CharField(max_length=50) 

class Event(models.Model): 
    timestamp = models.DateTimeField(auto_now_add=True) 
    device = models.ForeignKey(Device) 

私はそれに基づいてクエリセットのデバイスを注文することができるように、デバイスの最新のイベントを取得したいです。

答えて

0

あなたは

from django.db.models import Max 

Device.objects.annotate(
    most_recent=Max('event_set__timestamp') 
).order_by('-most_recent') 
降順に、デバイスのためのイベントの最新のタイムスタンプを取得するために、アノテーションを使用し、その注釈付きフィールドによって注文することができます
関連する問題