跳至内容
菜单
此问题已终结
6 回复
7006 查看

Hi guys,

I would like to inherit the model 'account.analytic.account' but when I do so I get the following error:

TypeError: The model "account.analytic.account" specifies an unexisting parent class "fleet.vehicle"
You may need to add a dependency on the parent class' module. 
I've created a custom module named 'aa_auto_maatwerk' with the following code.
__init__.py:
 # -*- coding: utf-8 -*-
import controllers
import models

__openerp__.py

 # -*- coding: utf-8 -*-
{
    'name': "aa_auto_maatwerk",

    'summary': """Extending fleet""",

    'description': """
        Extending some features """,

    'author': "Your Company",
    'website': "http://www.yourcompany.com",
    'category': 'Uncategorized',
    'version': '0.1',

    # any module necessary for this one to work correctly
    'depends': ['base', 'fleet', 'analytic'],

    # always loaded
    'data': [
        # 'security/ir.model.access.csv',
        'templates.xml',
    ],
    # only loaded in demonstration mode
    'demo': [
        'demo.xml',
    ],
}

models.py:

 # -*- coding: utf-8 -*-

from openerp.osv import osv, fields, orm

class aa_auto_maatwerk(orm.Model):
    _name = 'account.analytic.account'
    _inherit = ['account.analytic.account']
    _columns = {
        'car_ids': fields.many2many('fleet.vehicle', 'fleet_to_contract', 'car_id1', 'car_id2', 'Cars'),
    }

Why am I getting this and what is wrong with this? The model exists in the database. I want this to lay a link to car.vehicle with a one2many.

形象
丢弃
最佳答案

Hi ,,

First of all:-

Please check that you included  the inherited object Module name in your module __openerp__.py -> "depends"

Normally if you don't it will give this kind of error.

If that doesn’t solves the problem,  Please try:-

_name = 'your_object_name'
_inherit = ['account.analytic.account']

or if you want to Inherit the same object and add additional field you can use like:-

_inherit = 'account.analytic.account' 

Hope this solves the problem...

形象
丢弃
编写者

Thanks for the quick reply Baiju! This keeps throwing me the KeyError though.. :s

Hi Yenthe , i updated the answer, please that about this....

编写者

Hi Baiju, turns out the .pyc file was still having the old version and ment that the other module wasn't loaded in the __openerp__.py. However I now have a dependency error. Any clue on this? I've updated my whole question with all the new code, error etc. I'll upvote your answer for now, thanks :)

编写者

Fixed this. In the __openerp__.py of the analytic module I also had to add a dependency for fleet, since I also use this in my custom module.

Hi Yenthe,did this solved the problem??

编写者

Yes it did! I just needed to add depends on the other module that I inherited from too.

最佳答案

you do not need to have 'base' in dependency list... when you add new module in dependency list and that module has some dependency already listed in your list, then you should remove from dependency list such entries. module 'fleet' depends on 'base', so 'base' should be removed after adding the 'fleet'

形象
丢弃
编写者

Good catch Temur! I've removed it from my module, thanks. Upvoted ;)

相关帖文 回复 查看 活动
2
11月 19
10437
3
5月 15
4453
3
11月 23
35359
3
12月 22
4507
4
10月 20
4195