Hi
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project management
- MRP
This question has been flagged
Hello
for given many2many of same model you have to pass the table/relationship table name into the definition of the field.
for eg
partner_ids1 = fields.Many2many('res.partner', 'relation_table_one', 'col1', 'col2', string="Line1")try like this, may this will helps you.
partner_ids2 = fields.Many2many('res.partner', 'relation_table_two', 'col1', 'col2', 'string="Line2")
Hi,
programme_norme = fields.Many2many('animale.souche', 'animale.programme.norme', 'animale_souche_id', 'animale_programme_norme_id', string='Programme de norme')
programme_production = fields.Many2many('animale.souche', 'animale.programme.production', 'animale_souche_id', 'animale_programme_production_id', string='Programme de production')
Erreur:
Odoo Server Error
Traceback (most recent call last):
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 654, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 312, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\pycompat.py", line 87, in reraise
raise value
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 696, in dispatch
result = self._call_function(**self.params)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 344, in _call_function
return checked_call(self.db, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\service\model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 337, in checked_call
result = self.endpoint(*a, **kw)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 939, in __call__
return self.method(*args, **kw)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 517, in response_wrap
response = f(*args, **kw)
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\web\controllers\main.py", line 966, in call_button
action = self._call_kw(model, method, args, {})
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\web\controllers\main.py", line 954, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 749, in call_kw
return _call_kw_multi(method, model, args, kwargs)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 736, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-67>", line 2, in button_immediate_upgrade
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 73, in check_and_log
return method(self, *args, **kwargs)
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 614, in button_immediate_upgrade
return self._button_immediate_function(type(self).button_upgrade)
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 553, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\registry.py", line 86, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 417, in load_modules
force, status, report, loaded_modules, update_module, models_to_check)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 313, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 195, in load_module_graph
registry.init_models(cr, model_names, {'module': package.name})
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\registry.py", line 301, in init_models
func()
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\fields.py", line 2629, in update_db_foreign_keys
sql.add_foreign_key(cr, self.relation, self.column2, comodel._table, 'id', 'cascade')
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\sql.py", line 158, in add_foreign_key
cr.execute(query.format(tablename1, columnname1, tablename2, columnname2, ondelete))
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\sql_db.py", line 148, in wrapper
return f(self, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\sql_db.py", line 225, in execute
res = self._obj.execute(query, params)
psycopg2.ProgrammingError: ERREUR: la relation « _unknown » n'existe pas
programme_production = fields.Many2many('animale.souche', 'animale_programme_production', 'animale_souche_id', 'animale_programme_production_id', string='Programme de production')
give the relation name with underscore. and make sure that the name is not exist into the system. so give the name like "table_rel_animale_programme_production"
sorry, I'm not understand
can you give me an example
see my above answer, i have make the text bold.
for make the many2many of same model you need to give the relationship table name. in example i have given like "relation_table_one".
programme_norme_ids = fields.Many2many('animale.programme.norme', 'animale_programme_norme_animale_souche_rel', 'animale_souche_id', 'animale_programme_norme_id', string='Programmes de norme')
programme_production_ids = fields.Many2many('animale.programme.production', 'animale_programme_production_animale_souche_rel', 'animale_souche_id', 'animale_programme_production_id', string='Programmes de production')
"programme_production_ids" works but "programme_norme_ids" no
Erreur:
Odoo Server Error
Traceback (most recent call last):
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 654, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 312, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\pycompat.py", line 87, in reraise
raise value
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 696, in dispatch
result = self._call_function(**self.params)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 344, in _call_function
return checked_call(self.db, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\service\model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 337, in checked_call
result = self.endpoint(*a, **kw)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 939, in __call__
return self.method(*args, **kw)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 517, in response_wrap
response = f(*args, **kw)
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\web\controllers\main.py", line 966, in call_button
action = self._call_kw(model, method, args, {})
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\web\controllers\main.py", line 954, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 749, in call_kw
return _call_kw_multi(method, model, args, kwargs)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 736, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-67>", line 2, in button_immediate_upgrade
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 73, in check_and_log
return method(self, *args, **kwargs)
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 614, in button_immediate_upgrade
return self._button_immediate_function(type(self).button_upgrade)
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 553, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\registry.py", line 86, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 417, in load_modules
force, status, report, loaded_modules, update_module, models_to_check)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 313, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 195, in load_module_graph
registry.init_models(cr, model_names, {'module': package.name})
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\registry.py", line 301, in init_models
func()
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\fields.py", line 2629, in update_db_foreign_keys
sql.add_foreign_key(cr, self.relation, self.column2, comodel._table, 'id', 'cascade')
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\sql.py", line 158, in add_foreign_key
cr.execute(query.format(tablename1, columnname1, tablename2, columnname2, ondelete))
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\sql_db.py", line 148, in wrapper
return f(self, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\sql_db.py", line 225, in execute
res = self._obj.execute(query, params)
psycopg2.ProgrammingError: ERREUR: la relation « _unknown » n'existe pas
Hi Ramla,
please read the many2many field declaration syntax
https://www.odoo.com/documentation/12.0/reference/orm.html#odoo.fields.Many2many
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
1
Mar 19
|
2613 | ||
|
1
Apr 19
|
7390 | ||
|
3
Mar 19
|
7529 | ||
|
1
Jul 24
|
329 | ||
|
1
Jun 24
|
704 |
you want many2many of same model or different model.
same model