Odoo Help


def create ?

on 8/26/15, 4:51 AM 1,242 views

Hi, my name Heru.

i have problems.

i will get value when hit button 'save', but it's not work.

I make like this,

file .py :

class manifest_delivery(osv.osv):
    _columns = {
                        'name': fields.char('Reference', required=True, size=64, readonly=True, states={'draft': [('readonly', False)]}),
    def create(self, cr, uid, vals, context=None):
        sp = self.pool.get("stock.picking").browse(cr, uid, vals['manifest_id'])
        print "> > > > > > > > > > > > > > > > > > > > > > > >",sp.origin
        return super(manifest_delivery, self).create(cr, uid, vals, context=context)

class stock_picking(osv.osv):
    _inherit = 'stock.picking'
    _columns = {
                        'manifest_id': fields.many2one('manifest.delivery', 'Manifest'),
                        'origin': fields.char('Source Document', states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}, help="Reference of the document", select=True),

when i hit button 'save', system show message error :

Traceback (most recent call last):
File "/home/heru/odoo/openerp-8.0/openerp/http.py", line 499, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/heru/odoo/openerp-8.0/openerp/http.py", line 516, in dispatch
result = self._call_function(**self.params)
File "/home/heru/odoo/openerp-8.0/openerp/http.py", line 282, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/heru/odoo/openerp-8.0/openerp/service/model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "/home/heru/odoo/openerp-8.0/openerp/http.py", line 279, in checked_call
return self.endpoint(*a, **kw)
File "/home/heru/odoo/openerp-8.0/openerp/http.py", line 732, in __call__
return self.method(*args, **kw)
File "/home/heru/odoo/openerp-8.0/openerp/http.py", line 375, in response_wrap
response = f(*args, **kw)
File "/home/heru/odoo/addons/DOMINO_CAKE/web/controllers/main.py", line 944, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/home/heru/odoo/addons/DOMINO_CAKE/web/controllers/main.py", line 936, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "/home/heru/odoo/openerp-8.0/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/home/heru/odoo/addons/DOMINO_CAKE/siu_manifest_delivery/manifest.py", line 92, in create
sp = self.pool.get("stock.picking").browse(cr, uid, vals['manifest_id.id'])
KeyError: 'manifest_id'

anybody, can tell me what is the solution for my case ?

thanks in advance.

<sorry my language is bad>




| 4 4 6
Hyderabad, India

On 8/26/15, 5:15 AM


First of all your implementation is wrong....

1) you have "manifest_id" field in stock_picking not in manifest_delivery, so add a many2one field for stock.picking in manifest_delivery as picking_id, and show in your form view to be selected by the user.

2) then in create, use vals['picking_id'] for your further operation.....as :

sp = self.pool.get("stock.picking").browse(cr, uid, vals['picking_id'])

Hope it Helps!    

wow, it's work. Thank you very much Pawan ...

on 8/26/15, 6:13 AM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)


Asked: 8/26/15, 4:51 AM
Seen: 1242 times
Last updated: 8/26/15, 6:14 AM