0

別のモデル関数を呼び出して結果を計算するモデル関数があります。返される結果は 10 進数である必要がありますが、エラーが発生します。

unsupported operand type(s) for -: 'instancemethod' and 'Decimal'

Decimal()戻り値を変換しようとしましたが、同じエラーが発生しましたが、instancemethod を 10 進数に変換できませんでした。

関連するコードは次のとおりです。

cimt = member.cimt

bal = cimt - cpp

if bal == 0:
    pass
elif bal < 0:
    owes_members.append(member)
elif bal > 0:
    owed_members.append(member)
    record_item = ReceiptItem(member = member, amount = bal)
    record_item.save()
    print record_item.amount

エラーが発生する行はbal = cimt - cpp

どんな助けでも本当に感謝します、ありがとう。

4

1 に答える 1

1

エラーは、メソッドを呼び出した結果ではなく、モデル メソッドを使用して計算を実行しようとしていることを示しています。そのはず:

cimt = member.cimt()

または、必要な引数を指定して呼び出します。

オブジェクトの他のものと同じように、名前でメソッドにアクセスして操作できます。実際に呼び出すには括弧を使用する必要があります。

于 2013-09-12T19:45:13.930 に答える