콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
6 답글
7022 화면

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
10444
Cleaning up Models 해결 완료
3
5월 15
4453
3
11월 23
35365
3
12월 22
4510
4
10월 20
4200