跳至内容
菜单
此问题已终结
4 回复
3000 查看

Consider 4 models which are

Model1.model1
Model2.model2
Model3.model3
Model4.model4

I need to show there form view on a same page like that 

----------------------------------  ---------------------------------
-       Model1.model1    -  -       Model2.model2    -
----------------------------------  ---------------------------------

----------------------------------  ---------------------------------

-       Model3.model3    -  -       Model4.model4    -

----------------------------------  ---------------------------------  


Any idea how can i do that in odoo ? i really need that type of view.

形象
丢弃
最佳答案

Try this method

1) Write your menu like this 

<!--ACTION-->
<record id="action_display" model="ir.actions.act_url">
     <field name="name">Menu Name</field>
     <field name="url">/display_models</field>
     <field name="target">self</field>
 </record>
<!--MENU -->

<record id="menu_action" model="ir.ui.menu">

    <field name="name">Menu Name</field> 

    <field name="sequence" eval="10"/>

    <field name="action" ref="action_display"/>

</record>


2) Write Python code

from openerp import http 
from openerp.http import request

class YourClass(http.Controller):
    @http.route('/display_models', type='http', website=True)
    def index_grid(self, **kw):
             .....
        return request.render('your_module.your_template_id', {
                'model1':model1,'model2':model2,'model3':model3,'model4':model4})

3) Write Template

 <template id="your_module.your_template_id">
     <t t-call="web.menu"/><!--For menu bar-->
     <table>
        <tr>
            <td><t t-esc="model1.name"/><t t-esc="model1.partner_id"/> etc....</td>
            <td><t t-esc="model2.name"/><t t-esc="model2.partner_id"/> etc....</td>
        </tr>
        <tr><td><t t-esc="model3.name"/><t t-esc="model3.partner_id"/> etc....</td>
            <td><t t-esc="model4.name"/><t t-esc="model4.partner_id"/> etc....</td>
        </tr>
     </table>

    
</template>



形象
丢弃
编写者

But how can i display those model fields in that route, i am using that code for display, but it not showing an thing

<div t-field="jewleryset.customer_id" t-field-options='{"widget": "relative"}'/>

最佳答案

You could do it by creating a model0 with a many2one field for every model and related fields to all the fields of the models using the model name as a suffix for the related fields and the corresponding field path using the model many2one. That will cause you to have the model0 writing to the 4 other models fields but you could manage all like one into a single view form that you could divide into four areas as you like

形象
丢弃
编写者

Sorry am not clear with your idea, could you plz explain it using code

still waiting on this, I have time to provide an example if still is needed

最佳答案

yep, you can create one more model is `model0` then create 4 one2many fields to each your model

- one2many f1 to model1

- one2many f2 to model2

- one2many f3 to model3

- one2many f4 to model4


then design the form view for `model0` as you want

形象
丢弃
编写者

No, i want those model all fields (includind one2many and many2one) onthat page. Like i need to show whole four forms on single page

相关帖文 回复 查看 活动
0
9月 23
2455
0
9月 23
2150
2
6月 25
11713
6
10月 23
22786
3
3月 24
10058