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

Hello,

my goal is to add a new model that holds new data for some categories. Not all categories needs this data. So I think inherit is not the right way, becouse if I use inheritance, every time I create a new category it will create a new row in my osc_product_category table with empty data. I want that a new row is created only when e.g. osc_category_id is set.

I want that all the new fields are shown in the product categories form. But it's not working.

class osc_product_category(osv.osv):
    _name = 'osc.product.category'
    _description = "osCommerce Product Category"

    _columns = {
        'product_category_id': fields.many2one('product.category', 'Product Category', ondelete="cascade", select=True),
        'osc_category_id': fields.integer('osCommerce Category Id'),
        ...
    }

osc_product_category()

.

<record id="nfx_oscommerce_product_category_form_view" model="ir.ui.view">
    <field name="name">nfx_oscommerce.product.category.form</field>
    <field name="model">osc.product.category</field>
    <field name="inherit_id" ref="product.product_category_form_view"/>
    <field name="arch" type="xml">

        <xpath expr="//form/sheet" position="inside">
            <notebook>
                <page string="osCommerce">
                    <group>
                        <group>
                            <field name="osc_category_id"/>
                            ...
                        </group>
                    </group>
                </page>
            </notebook>
        </xpath>

    </field>
</record>

I get an exception that parent_id was not found... I don't understand why. parent_id is in product.category. I don't need it in my osc.product.category.

How can I inherit a view and add fields from another model?

아바타
취소

Did you ever figure out how to do this? I'm working on exactly the same problem now

베스트 답변

Hello, even you no longer using version 6, 7 or 8 you can solve the issue doing something like that:

class osc_product_category(osv.osv):_name = 'osc.product.category' _inherit = 'product.category' _description = "osCommerce Product Category" _columns = { 'product_category_id': fields.many2one('product.category', 'Product Category', ondelete="cascade", select=True), 'osc_category_id': fields.integer('osCommerce Category Id'), ... } osc_product_category(

I suggest for those that use this solution, to take a look on entity structure that was created once you run your init or update module, because as  you will see all attributes from inherit model will be created in your new model/entity.

May this could not be a good solution.

아바타
취소
베스트 답변

Hello Stefan,

You're trying to inherit from a view that is defined for a different object (product.category), this won't work because view inheritance exists to complement object inheritance and works with the same object type:

  • https://doc.odoo.com/trunk/server/03_module_dev_03/#inheritance-in-views

You can verify this by looking at the source code, view inheritance processing retrieves views of the same model (object type):

  • https://github.com/odoo/odoo/blob/7.0/openerp/addons/base/ir/ir_ui_view.py#L169
아바타
취소
관련 게시물 답글 화면 활동
4
4월 16
4192
1
6월 25
5188
3
7월 20
11897
4
10월 24
5360
2
11월 19
10596