** Summary changed: - Error reading fields of an object inherited by prototyping + models inheriting by prototype (_inherit with different _name) do not get updated when parent model is modified
-- You received this bug notification because you are a member of OpenERP Framework Experts, which is subscribed to OpenERP Server. https://bugs.launchpad.net/bugs/799378 Title: models inheriting by prototype (_inherit with different _name) do not get updated when parent model is modified Status in OpenERP Server: Triaged Bug description: openobject-server/6.0 revno 3445 Steps: 1 - Install 'crm' module 2 - Make a module that adds a field to 'res.partner.address' (for instance, you can use 'base_partner_surname' http://apps.openerp.com/addon/1526 or 'l10n_it_base' http://apps.openerp.com/addon/4528) and install it 3 - Try to create a new lead you get: [2011-06-19 14:16:01,056][test] ERROR:db.cursor:Programming error: column crm_lead.last_name does not exist LINE 1: SELECT crm_lead.date_closed,crm_lead.last_name,date_trunc('s... ^ , in query SELECT crm_lead.date_closed,crm_lead.last_name,date_trunc('second', crm_lead.create_date) as create_date,crm_lead.probability,crm_lead.type_id,crm_lead.partner_address_id,crm_lead.date_action_last,crm_lead.day_close,crm_lead.street,crm_lead.day_open,crm_lead.contact_name,crm_lead.partner_id,crm_lead.date_action_next,crm_lead.city,crm_lead.first_name,crm_lead.user_id,crm_lead.zip,crm_lead.title,crm_lead.partner_name,crm_lead.planned_revenue,crm_lead.country_id,crm_lead.company_id,crm_lead.id,crm_lead.priority,crm_lead.state,crm_lead.email_cc,crm_lead.type,crm_lead.email,crm_lead.function,crm_lead.fax,crm_lead.optin,crm_lead.description,crm_lead.street2,crm_lead.ref2,crm_lead.section_id,crm_lead.title_action,crm_lead.phone,date_trunc('second', crm_lead.write_date) as write_date,crm_lead.active,crm_lead.date_action,crm_lead.categ_id,crm_lead.name,crm_lead.stage_id,crm_lead.date_open,crm_lead.date_deadline,crm_lead.optout,crm_lead.mobile,crm_lead.ref,crm_lead.birthdate,crm_lead.channel_id,crm_lead.state_id,crm_lead.email_from,crm_lead.referred,crm_lead.id FROM "crm_lead" WHERE crm_lead.id IN %s ORDER BY priority,date_action,id desc [2011-06-19 14:16:01,057][test] ERROR:web-services:Uncaught exception Traceback (most recent call last): File "/home/elbati/workspace/openerp/openerp6/server/bin/osv/osv.py", line 122, in wrapper return f(self, dbname, *args, **kwargs) File "/home/elbati/workspace/openerp/openerp6/server/bin/osv/osv.py", line 176, in execute res = self.execute_cr(cr, uid, obj, method, *args, **kw) File "/home/elbati/workspace/openerp/openerp6/server/bin/osv/osv.py", line 167, in execute_cr return getattr(object, method)(cr, uid, *args, **kw) File "/home/elbati/workspace/openerp/openerp6/server/bin/osv/orm.py", line 3694, in create self.pool.get(object)._store_set_values(cr, user, ids, fields2, context) File "/home/elbati/workspace/openerp/openerp6/server/bin/osv/orm.py", line 3788, in _store_set_values result = self._columns[val[0]].get(cr, self, ids, val, 1, context=context) File "/home/elbati/workspace/openerp/openerp6/server/bin/osv/fields.py", line 800, in get res = self._fnct(obj, cr, user, ids, name, self._arg, context) File "/home/elbati/workspace/openerp/openerp6/server/bin/addons/crm/crm_lead.py", line 69, in _compute_day if lead.date_closed: File "/home/elbati/workspace/openerp/openerp6/server/bin/osv/orm.py", line 292, in __getattr__ return self[name] File "/home/elbati/workspace/openerp/openerp6/server/bin/osv/orm.py", line 194, in __getitem__ fields_to_fetch = filter(lambda x: x[1]._classic_write, self._table._columns.items()) File "/home/elbati/workspace/openerp/openerp6/server/bin/osv/orm.py", line 2942, in read result = self._read_flat(cr, user, select, fields, context, load) File "/home/elbati/workspace/openerp/openerp6/server/bin/osv/orm.py", line 3001, in _read_flat cr.execute(query, (tuple(sub_ids),)) File "/home/elbati/workspace/openerp/openerp6/server/bin/sql_db.py", line 78, in wrapper return f(self, *args, **kwargs) File "/home/elbati/workspace/openerp/openerp6/server/bin/sql_db.py", line 131, in execute res = self._obj.execute(query, params) ProgrammingError: column crm_lead.last_name does not exist LINE 1: SELECT crm_lead.date_closed,crm_lead.last_name,date_trunc('s... ^ This is because 'crm.lead' inherits 'res.partner.address' by prototyping, but the new module (base_partner_surname) has been installed after 'crm', so, when 'crm' was installed, 'last_name' didn't exist. Investigating, I noticed that at line 194 http://bazaar.launchpad.net/~openerp/openobject-server/6.0/view/3445/bin/osv/orm.py#L190 'self._table._columns' contains 'last_name' while that column, as mentioned above, is not present within the database. To manage notifications about this bug go to: https://bugs.launchpad.net/openobject-server/+bug/799378/+subscriptions -- Mailing list: https://launchpad.net/~credativ Post to : [email protected] Unsubscribe : https://launchpad.net/~credativ More help : https://help.launchpad.net/ListHelp

