は、私は2つのオブジェクト間のデルタを希望する前に作成されたオブジェクトを取得します。 self.objectの先人を時間的に意味をなさせる方法はありますか?このオブジェクト
Q
このオブジェクト
0
A
答えて
1
def delta(self):
try:
my_predecessor = self.objects\
.filter(measurement_id=self.measurement_id, pk__lt=self.pk)\
.order_by('pk')[-1]
except IndexError:
# there is no previous object
return None
else:
return self.time - my_predecessor.time
self.measurement_id
はself.measurement.pk
pk
に主キーを意味同義である必要があります。値は通常、シーケンスから自動的に割り当てられます。 "そのPK L ESS T漢鉱山であるオブジェクト"、または "以前の私よりも作成した"
pk__lt=self.pk
手段。 More here
私はorder_by('pk')
ので、私は(整数フィールドを比較すると、より高速なDateTimeField
オブジェクトを比較するよりも常にそれらが作成された順にPoint
オブジェクトを選択することを確認してください。あなたには、いくつかの疑問を持っている場合は、常にorder_by('time')
に置き換えることができます:)
_id
はhereと記載されている。私はこれを使って、1つのテーブルから選択するだけのより最適なSQLクエリを作成しました(Measurement
モデルのテーブルに参加しません)。 differenceは_id
と__id
の間です。
最後に、[-1]
が最後のオブジェクトを取ります。 Django queryset slicingはpython slicingとよく似ています。
関連する問題
- 1. のNode.js:オブジェクトここ
- 2. ここでは空のオブジェクト
- 3. のC# - オブジェクトはここで
- 4. WPFのDataGrid:親オブジェクトここ
- 5. のアクセス「この」オブジェクト
- 6. ソートここでオブジェクト
- 7. 「オブジェクト」この行で
- 8. 私は、このオブジェクトを持つオブジェクト
- 9. JSONオブジェクトは、ここでアイテム
- 10. 我々はここでオブジェクト
- 11. この静的オブジェクトのポインタ
- 12. このオブジェクトに何が起こるか
- 13. Grailsの3.2 - オブジェクト・バージョンは、ここで
- 14. このようなオブジェクト
- 15. VBSは、オブジェクトはこのプロパティ
- 16. は、「これは」空のオブジェクト
- 17. jQueryのキャッチされない例外TypeError:オブジェクト[オブジェクトのオブジェクト]ここには方法のスライダー
- 18. 私は、オブジェクトのこの配列を持つオブジェクトの配列
- 19. C++オブジェクトのコピーを渡してからオブジェクトにポインタを渡すか?ここ
- 20. は、このような単純なJSオブジェクト内のJSオブジェクト
- 21. 私はこのようなMongoDBのサンプル・オブジェクトを有するオブジェクト
- 22. は、私は、このオブジェクトを持つオブジェクトのPHP
- 23. Lodash - 私はこのようなオブジェクトの配列を持つオブジェクト
- 24. インラインフレームサンドボックスは、ここで埋め込みオブジェクト
- 25. AS3:ここではnullオブジェクト参照
- 26. ASP.NET MVCウェブサイト:オブジェクトはここに移動
- 27. シンプルなオブジェクト指向猫はここで
- 28. ASP.NET MVCアンエンティティ・オブジェクトは、ここでIEntityChangeTracker
- 29. オブジェクトは、ここで未定義
- 30. jQueryのこのオブジェクトのターゲットサブ要素?