1

以下のコードは、OpenERP 6.1 の製品モジュールの product.py にあります。

    _columns = {
        'qty_available': fields.function(_product_qty_available, type='float', string='Quantity On Hand'),
        'virtual_available': fields.function(_product_virtual_available, type='float', string='Quantity Available'),
...


    def _get_product_available_func(states, what):
        def _product_available(self, cr, uid, ids, name, arg, context=None):
            return {}.fromkeys(ids, 0.0)
        return _product_available

   _product_qty_available = _get_product_available_func(('done',), ('in', 'out'))
   _product_virtual_available = _get_product_available_func(('confirmed','waiting','assigned','done'), ('in', 'out'))

一般に、この特定のケースでPythonのメソッド内にメソッドを定義する目的を誰かが説明してくれますか?

4

5 に答える 5

0

ネストされた機能の使用とその使用法が他の回答で説明されていることを願っています。だから私はそれに行きません。openerp では、product モジュールの product.py ファイルだけをチェックすると、ネストされた機能が何に使用されているのかが少しわかりにくくなります。実際にストックモジュールで使用されています。在庫の product.py ファイルを調べれば、その用途を見つけることができます。

于 2013-10-10T15:48:54.987 に答える