【问题标题】:raise ValueError('External ID not found in the system: %s' % xmlid)raise ValueError('External ID not found in the system: %s' % xmlid)
【发布时间】:2017-01-17 21:16:48
【问题描述】:

我正在尝试为“每日交易”创建一个模块并获得ValueError

    value = d[key] = self.method(*args, **kwargs)
  File "/home/odoo/odoo-dev/odoo/odoo/addons/base/ir/ir_model.py", line 1028, in xmlid_lookup
    raise ValueError('External ID not found in the system: %s' % xmlid)
ParseError: "External ID not found in the system: daily_transaction.action_daily_transaction" while parsing /home/odoo/odoo-dev/custom-addons/daily_transaction/daily_transaction_view.xml:11, near <menuitem action="action_daily_transaction" id="menu_action_daily_transaction" parent="menu_daily_transaction_root" sequence="20"/>

我的文件结构:(加粗的是我的文件名)

__init__.py

from import daily_transaction

__manifest__.py

{
        'name':'Daily Transaction Manager',
        'version':'1.0',
        'description':'**********************This app will keep the record of all the tansactions happening*********',
        'author':'Test',
        'data':['daily_transaction_view.xml'],
        'installable':True,
        'auto_install':False,
}

daily_transaction.py

from . import fields,osv

class daily_transaction(osv.osv):
        _name = 'daily.transaction'
        _description = 'Daily Transaction'
        _columns = {

                'subject': fields.char('Subject', size=128, required = True),
                'data' : fields.data('Date', required = True),
                'note': fields.text('Notes'),
                'amount': fields.float('Amount', required = True),
                'type' : fields.selection([
                        ('transport','Transport'),
                        ('household','Household'),
                        ('personal','Personal'),
                        ],
                        'Type', required = True),
                        }

daily_transaction_view.xml

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

<odoo>
<data>

<!-- Main Menu Related Info -->        
<menuitem name="Daily Transaction" id="base.daily_transaction_root"            sequence="60"/>
<!-- Sub Menu Related Info -->       
<menuitem id="menu_daily_transaction_root" name="Daily Transaction"            parent="base.daily_transaction_root" sequence="1" /> 
<!-- Action Menu Related Info -->       
<menuitem action="action_daily_transaction" id="menu_action_daily_transaction" parent="menu_daily_transaction_root" sequence="20"/>

<!--Daily Transaction List View-->    
<record id="view_daily_transaction_tree" model="ir.ui.view">  <!-- here id is the external id for this tree view which must be unique and will be used for accessing this record -->
<field name="name">daily.transaction.tree</field> <!-- this will be our name of record in ir.ui.view -->        
<field name="model">daily.transaction</field>    <!-- this will map out tree view with our daily transaction model -->
<field name="arch" type="xml">           
 <!-- this will be our title of list/tree view -->            
<tree string="Daily Transaction">               
 <!-- these will automatically map table headers for our list view, so we’ll select out column names of our model here -->               
 <field name="name"/>              
 <field name="date"/>              
 <field name="type"/>               
<field name="amount"/>                   
</tree>       
</field>
</record>


<!--Daily Transaction Form View-->    
<record id="view_daily_transaction_form" model="ir.ui.view">        
<field name="name">daily.transaction.form.view</field>        
<field name="model">daily.transaction</field>        
<field name="arch" type="xml">            
<!-- this will be our title of list/tree view -->            
<form string="Daily Transaction" version="7.0">                
<group>                    
<field name="name"/>                    
<field name="date"/>                    
<field name="type"/>                     
<field name="amount"/>                     
<field name="note"/>                                   
</group>             
</form>        
</field>    
</record>

<record id="action_daily_transaction" model="ir.actions.act_window">        
<field name="name">Daily Transaction</field>        <!-- name of action -->
<field name="res_model">daily.transaction</field>        <!-- this action will be mapped to model specified -->
<field name="view_type">form</field>        
<field name="view_mode">tree,form</field>        <!-- these are type of view our module will show for our daily transaction mode  -->
<field name="search_view_id"  eval="False"/>        <!-- here we specify id of our search view -->
<field name="context">{}</field>        
<field name="help">Create new daily transaction.</field>    <!-- help text for our model -->
</record>

</data>
</odoo

【问题讨论】:

    标签: python xml postgresql odoo


    【解决方案1】:

    出现此错误是因为您在创建操作之前使用了操作,因此首先您必须定义您的操作,然后才能使用它。

    所以你应该尝试如下:

    <record id="action_daily_transaction" model="ir.actions.act_window">        
        <field name="name">Daily Transaction</field>        <!-- name of action -->
        <field name="res_model">daily.transaction</field>        <!-- this action will be mapped to model specified -->
        <field name="view_type">form</field>        
        <field name="view_mode">tree,form</field>        <!-- these are type of view our module will show for our daily transaction mode  -->
        <field name="search_view_id"  eval="False"/>        <!-- here we specify id of our search view -->
        <field name="context">{}</field>        
        <field name="help">Create new daily transaction.</field>    <!-- help text for our model -->
    </record>
    
    <menuitem action="action_daily_transaction" id="menu_action_daily_transaction"
    parent="menu_daily_transaction_root" sequence="20"/>
    

    【讨论】:

    • 它确实解决了这个错误,但现在它有一个错误 Model not found : daily.transaction
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-02
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    相关资源
    最近更新 更多