跳至內容
選單
此問題已被標幟
6 回覆
7002 瀏覽次數

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
10435
3
5月 15
4450
3
11月 23
35358
3
12月 22
4503
4
10月 20
4194