Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
3153 Lượt xem

Hi all! I'm struggling with a really strange issue: I have this simple module that adds two fields to Fleet:


from odoo import models, fields, api
class FleetVehicleExtension(models.Model):
    _name = 'fleet.vehicle.extension2'
    _description = 'Taller'
    _inherit = 'fleet.vehicle'
    x_location = fields.Selection(
        string='Ubicación',
        help='Área de la empresa a la que el vehículo está asignado.',
        required=True,
        default=None,
        selection=[
            ('mll', 'Muellaje'),
            ('adm', 'Administración'),
            ('ap', 'Agua potable'),
        ]
    )
    x_type = fields.Selection(
        string='Tipo',
        help='Seleccionar generador o tipo de vehículo.',
        required=True,
        default=None,
        selection=[
            ('c', 'Camioneta'),
            ('cp', 'Camión pluma'),
            ('cc', 'Camión capacho'),
        ]
    )


But, when i try to install it, Odoo claims that I have a non-well formed M2M field, but no M2M field is present in my module at all! Any ideas?


Odoo Server Error
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
    result = request.dispatch()
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 683, in dispatch
    result = self._call_function(**self.params)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 359, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 347, in checked_call
    result = self.endpoint(*a, **kw)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 912, in __call__
    return self.method(*args, **kw)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 531, in response_wrap
    response = f(*args, **kw)
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1381, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1369, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 396, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 383, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-71>", line 2, in button_immediate_install
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 73, in check_and_log
    return method(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 474, in button_immediate_install
    return self._button_immediate_function(type(self).button_install)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 592, in _button_immediate_function
    modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 89, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 453, in load_modules
    processed_modules += load_marked_modules(cr, graph,
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 346, in load_marked_modules
    loaded, processed = load_module_graph(
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 197, in load_module_graph
    registry.setup_models(cr)
  File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 276, in setup_models
    model._setup_fields()
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 2839, in _setup_fields
    field.setup_full(self)
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 399, in setup_full
    self._setup_regular_full(model)
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 3461, in _setup_regular_full
    raise TypeError(msg % (self, field))
Exception
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 639, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 315, in _handle_exception
    raise exception.with_traceback(None) from new_cause
TypeError: Many2many fields fleet.vehicle.extension2.tag_ids and fleet.vehicle.tag_ids use the same table and columns
Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

Solved! This was the issue in case it's useful for somebody else: https://stackoverflow.com/questions/59981217/many2many-fields-use-the-same-table-and-columns-while-inheriting-with-name-fiel#

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 2 17
21125
1
thg 9 17
6769
2
thg 3 15
10894
1
thg 7 24
2286
1
thg 2 24
2441