Openerp 奥多。导入具有关系的数据

Openerp 奥多。导入具有关系的数据,openerp,odoo-9,Openerp,Odoo 9,我需要从xml导入员工(hr.employee对象),并将他们与用户(res.users对象)和联系人(res.partner对象)联系起来。与用户工作的关系良好(导入后的屏幕) 但我的联系人有问题。当系统导入用户时,她自动创建适用于用户的新联系人。如果我不知道身份证,如何与员工联系 我尝试将联系人记录添加到xml文件并设置关系。但在这种情况下,系统会创建2个联系人。其中一个与用户无关 这里是从我的模块导入的xml <?xml version="1.0" encoding="utf-8

我需要从xml导入员工(hr.employee对象),并将他们与用户(res.users对象)和联系人(res.partner对象)联系起来。与用户工作的关系良好(导入后的屏幕)

但我的联系人有问题。当系统导入用户时,她自动创建适用于用户的新联系人。如果我不知道身份证,如何与员工联系

我尝试将联系人记录添加到xml文件并设置关系。但在这种情况下,系统会创建2个联系人。其中一个与用户无关

这里是从我的模块导入的xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data noupdate="1">
        <record id="user_test" model="res.users">
            <field name="name">My Name</field>
            <field name="login">my_name</field>
            <field name="password">1111</field>
        </record>
        <!-- I tried create contact like this...
             but then will be created 2 contacts
             instead 1 + one of them is not related with user -->

        <!--<record id="contact_test" model="res.partner">-->
            <!--<field name="name">My Name</field>-->
            <!--<field name="user_id" ref="user_test"/>-->
        <!--</record>-->
        <record id="employee_test" model="hr.employee">
            <field name="name">My Name</field>
            <field name="work_email">my_name@gmail.com</field>
            <field name="user_id" ref="user_test"/>
        </record>
    </data>
</openerp>

我的名字
我的名字
1111
我的名字
我的_name@gmail.com
所以,我的问题是:如何将联系人(由用户自动创建)设置为员工?

这里是解决方案:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data noupdate="1">
        <!-- at first create contact -->
        <record id="contact_test" model="res.partner">
            <field name="name">My Name</field>
        </record>
        <record id="user_test" model="res.users">
            <field name="name">My Name</field>
            <field name="login">my_name</field>
            <field name="password">1111</field>
            <!-- relation between user and contact -->
            <field name="partner_id" ref="contact_test"/>
        </record>
        <record id="employee_test" model="hr.employee">
            <field name="name">My Name</field>
            <field name="work_email">my_name@gmail.com</field>
            <field name="user_id" ref="user_test"/>
            <!-- relation employee and contact -->
            <field name="address_home_id" ref="contact_test"/>
        </record>
    </data>
</openerp>

我的名字
我的名字
我的名字
1111
我的名字
我的_name@gmail.com
在这种情况下,将创建1名联系人、1名用户和1名员工。员工将与联系人保持联系。

尝试以下操作:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data noupdate="1">

        <record id="contact_test" model="res.partner">
            <field name="name">My Name</field>
        </record>

        <record id="user_test" model="res.users">
            <field name="name">My Name</field>
            <field name="login">my_name</field>
            <field name="password">1111</field>
            <field name="partner_id ref="contact_test"/>
        </record>

        <record id="employee_test" model="hr.employee">
            <field name="name">My Name</field>
            <field name="work_email">my_name@gmail.com</field>
            <field name="user_id" ref="user_test"/>
            <field name="partner_id" ref="contact_test"/>
        </record>
    </data>
</openerp>

我的名字
我的名字
我的名字
1111

您是否尝试过先在xml中创建合作伙伴,然后再创建用户?只要加上。确保该用户处于合作伙伴下。未更改任何内容。但在本例中,创建的是1个联系人,而不是2个。创建的用户与联系人之间的关系如何?。我的意思是,用户需要关联1个联系人,这是新联系人吗?我想通过
user\u id
。因为我无法从GUI中删除联系人。我收到错误:
操作无法完成,可能是由于以下原因:-删除:您可能试图删除一条记录,而其他记录仍引用它-创建/更新:未正确设置必填字段。[带有链接的对象:Users-res.Users]
确定后是否可以向字段添加一些值?我的意思是,这里有一条记录:
我的名字
。有可能在标记之后向该记录添加一些值?只是像您一样发表评论,但使用partner_id而不是address_home_id(不知道字段名)。@DanielCrocco谢谢。你真的帮我解决了问题。