2

ゴール:

ここでは、指定されたIDの取引をフィルタリングしており、それらの中から最新の日付の取引を選択します。

contact.deal_set.filter(deal_id=deal_id).aggregate(Max('deal_start_datetime'))

ただし、これは最大日付を含む辞書のみを返します。でも列が必要です。私は何が間違っているのですか?

4

2 に答える 2

1

djangoクエリセットに提供される.latestメソッドを使用します。

たとえば、特定の場合:

contact.deal_set.filter(deal_id = deal_id).latest('deal_start_datetime')

Djangoドキュメント:https ://docs.djangoproject.com/en/dev/ref/models/querysets/#latest

于 2012-11-09T12:44:04.957 に答える
0

これを使って

contact.deal_set.filter(deal_id=deal_id).order_by('-deal_start_datetime')

これにより、クエリセットdeal_start_datetimeが逆に並べ替えられます。0番目の要素が最新の要素であり、次のように取得できます。

latest_contact = contact.deal_set.filter(deal_id=deal_id).order_by('-deal_start_datetime')[0]
于 2012-11-09T12:06:29.783 に答える