1

私は web2py に比較的慣れていないため、このソート機能に問題があります。

sorted_rows = day_rows.sort(lambda r: r.inspection)

これにより、次のエラーが発生します。

<type 'exceptions.TypeError'> <lambda>() takes exactly 1 argument (2 given)

day_rows はデータベース選択の結果であり、この場合は約 20 行あります。

私は明らかに初歩的な何かが欠けていますが、それを理解することはできません。どんな助けでも大歓迎です。

ありがとう、ジョン

4

1 に答える 1

3

おそらくdb(db.mytable).select().as_list(). その場合、2 番目の引数が "cmp" で、2 つの引数を取るsort()標準の Python オブジェクトのメソッドを呼び出しています。listday_rows をリストとして保持したい場合は、次のようにします。

day_rows.sort(key=lambda r: r['inspection'])

ただし、新しいリストを返すのではなく、リストを並べ替えます。新しいリストが必要な場合は、次のようにします。

sorted_rows = sorted(day_rows, key=lambda r: r['inspection'])

それ以外の場合は、day_rows を DALRowsオブジェクトのままにしておくと、元のコードが機能するはずです。

于 2012-06-23T03:50:43.843 に答える