像关系那样得到错误" _unknown"不存在?

时间:2015-05-20 08:34:25

标签: odoo

我创建了一个模型,它包含2个字段和一个网格视图。所以我试图通过一个字段来创建新的id。请让我知道我在哪里犯了错误?

.py代码在这里

from openerp.osv import fields, osv

class agile_portfolio(osv.Model):
    _name = "agile.portfolio"
    _rec_name = 'epic_owner'
    _columns = {
        'name': fields.char('Asset Name',),
        'epic_owner':fields.many2one('Agile.assetid.name','Asset ID'),



        'strat_id1' : fields.one2many('portfolio.grid','strat_id','Strategy Name'),
    }
agile_portfolio()

class portfolio_grid(osv.Model):
    _name = 'portfolio.grid'
    _columns = { 
                'name' : fields.char('Part'),

                'strat_code' : fields.char('Code'),
                'strat_quty' : fields.char('Quantity '),
                'strat_uom' : fields.char('UoM'),
                'strat_id': fields.many2one('agile.portfolio','Strat Id'),
            }

portfolio_grid()

class assetid_name(osv.Model):
    _name = 'assetid.name'
    _rec_name = 'asst_id'
    _columns = {
        'asst_id' : fields.char('Asset_ID'),
    }
assetid_name()

.xml代码在这里

<?xml version="1.0" encoding="utf-8"?>

<openerp>
    <data>
        <!--Portfolio View-->
            <record id="agile_portfolio_form" model="ir.ui.view">
            <field name="name">agile.portfolio.form</field>
            <field name="model">agile.portfolio</field>
            <field name="arch" type="xml">
                <form string="AssetConfig">
                    <group>
                        <group>
                        <field name="name"/>

                        </group>
                                    <group>
                            <field name="epic_owner"/>

                        </group>
                    </group>        
                <notebook>
                    <page string="Part Name">
                        <field name="strat_id1">
                            <form string="Part Name">
                                <group>
                                <field name="name"/>
                                <field name="strat_code"/>
                                <field name="strat_quty"/>
                                <field name="strat_uom"/>
                                </group>
                            </form>
                            <tree string="Part Name">
                                <field name="name"/>
                                <field name="strat_code"/>
                                <field name="strat_quty"/>
                                <field name="strat_uom"/>
                            </tree>
                        </field>
                    </page>
                </notebook>
                </form>
            </field>    
        </record>
        <record id="agile_portfolio_action" model="ir.actions.act_window">
            <field name="name">AssetConfigs</field>
            <field name="res_model">agile.portfolio</field>
            <field name="view_type">form</field>    
            <field name="help" type="html">
                    <p class="oe_view_nocontent_create">Click to create a new portfolio</p>
            </field>    
            </record>



        <!--side menu's-->

        <menuitem id="asset_config" name="AssetConfigs"/>
        <menuitem id="portfolio_menu" name="AssetParts" parent="asset_config"/>
        <menuitem id="portfolio_nxt_menu" name="AssetParts" parent="portfolio_menu" action="agile_portfolio_action"/>

</data>
</openerp>

OpenERP的的.py

{
'name': 'Agile',
'version':'1.0',
'description': """
    Agile Methodology
    - Portfolios
    - Programs
    - Projects
""",
'author': 'Suraj',
'depends': ['base_setup',],
'data': ['agile_view.xml',],
'installable': True,
'auto_install': False,

}

1 个答案:

答案 0 :(得分:0)

我认为您在以下字段中给出了错误的型号名称。

'epic_owner':fields.many2one('Agile.assetid.name','Asset ID')

此处代替“Agile.assetid.name”如果您想管理最后一个模型的M2O,那么您必须提供“assetid.name” “assetid .NAME“即可。我认为没有模特有大写字母。

我认为这将解决您的问题。