Odoo Help


With Custom Code, getting "Field does not exist" when open customer form from crm in Odoo10

Pawan Sharma
on 10/10/18, 7:15 AM 105 views

Hello All,

i inherited crm view and added a button on that form. And applied function for open that customer form from crm form. But after clicking on that button i'm getting error "ValueError: Field 'padding' does not exist".

I my sharing my python and xml code as well as screenshot of error:

class CustomCRM(models.Model):
_inherit = 'crm.lead'

def open_customer_view(self):
ir_model_data = self.env['ir.model.data']
view_id = ir_model_data.get_object_reference('base', 'action_partner_form')[1]
partner = self.env['res.partner'].browse(self.partner_id.id)
print("PARTNERS", partner, view_id)
if partner:
res = {

'view_type': 'form',
'view_mode': 'tree',
'views': [(view_id, 'form')],
'res_model': 'res.partner',
'view_id': view_id,
'type': 'ir.actions.act_window',
'res_id': partner.id,
'target': 'fullscreen',
# 'context': ctx,
return res
<record id="view_custom_crm_lead_form" model="ir.ui.view">
<field name="name">CustomCrmLead</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.crm_case_form_view_oppor"/>
<field name="arch" type="xml">
<xpath expr="//header//button[@name='action_set_won']" position="after">
<button name="open_customer_view" string="Customer Form" type="object"

Thanks in advance

Nitin Kantak
On 10/11/18, 5:14 AM

If Padding is custom field added by you. Then add that field into xml form you also and make it invisible if you want. 

Check the same after upgrading your module.

I'm not added any kind of 'padding' field in python.

SunArc Technologies, Pawan Sharma
on 10/11/18, 7:31 AM

ok...then upgrade base module separately first and see the result

Nitin Kantak
on 10/11/18, 7:35 AM

Go to Apps -> search for 'base' -> click on upgrade

Nitin Kantak
on 10/11/18, 7:36 AM

Upgraded but still getting same error.

SunArc Technologies, Pawan Sharma
on 10/11/18, 8:05 AM

view_id = ir_model_data.get_object_reference('base', 'action_partner_form')[1]

In above statement your getting object reference of an action. You have to get object refernce of its form view . action_partner_form is an action not a form view.

If you want to open a customer form then use this :

view_id = ir_model_data.get_object_reference('base', 'view_partner_form')

verify the view_id is correct or not before executing the solution

Nitin Kantak
on 10/11/18, 8:20 AM

Ohh.. Thanks. silly mistake in function.

SunArc Technologies, Pawan Sharma
on 10/11/18, 8:24 AM
On 10/11/18, 6:36 AM


padding field added in xml and forgot in python file


you forgot to upgrade your module after restart the server

I'm inherite default CRM and only added single button with above python function. No extra field added in python and xml file.

SunArc Technologies, Pawan Sharma
on 10/11/18, 8:07 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: 10/10/18, 7:15 AM
Seen: 105 times
Last updated: 10/11/18, 8:23 AM