エントリのIDに基づいてエントリのリストを並べ替えようとしています。
このコードを試しましたが、機能しませんでした。
entries.sort(cmp=None, key=Entry.id, reverse=False)
リスト内のオブジェクトは、IDを持つエントリです。
これは私が得るエラーです:
TypeError:'InstrumentedAttribute'オブジェクトは呼び出せません
何か案は?
エントリのIDに基づいてエントリのリストを並べ替えようとしています。
このコードを試しましたが、機能しませんでした。
entries.sort(cmp=None, key=Entry.id, reverse=False)
リスト内のオブジェクトは、IDを持つエントリです。
これは私が得るエラーです:
TypeError:'InstrumentedAttribute'オブジェクトは呼び出せません
何か案は?
key
リストエントリを受け取り、比較に使用される値を返す関数でなければなりません。
の代わりにlambda
、次を使用しますoperator.attrgetter
。
entries.sort(key=attrgetter('id'))
エラーが示したように、Keyは関数、より正確には呼び出し可能なオブジェクトである必要があります。
entries.sort(cmp=None, key=(lambda x:x.id), reverse=False)