gpt4 book ai didi

python - OpenERP 7 中的主细节关系、变量和 XML

转载 作者:太空宇宙 更新时间:2023-11-03 18:35:58 26 4
gpt4 key购买 nike

我正在尝试在 OpenERP 7 中创建产品规范模块。一些工作已经完成。但与主从关系、变量和 XML 混淆。

看看这张图

enter image description here

需要从这个 .py 和 .xml 文件创建这个下部。

产品_pspec.py

from openerp.osv import osv, fields

class product_pspec(osv.osv):

_name = "product.pspec"

_columns = {
'prototype': fields.char('Prototype#', size=20),
'style': fields.char('Style#', size=20),
'customer': fields.char('Customer', size=20),
'body_type': fields.char('Body Type', size=20),
'program_brand': fields.char('Program/Brand', size=20),
'color_asstmnt': fields.char('Color Asstmnt', size=200),
'size_info': fields.integer('Size Info', size=20),
'description': fields.char('Description', size=500),
'designer': fields.char('Designer', size=20),
'factory': fields.char('factory', size=20),
'pcs_hanger': fields.integer('Pcs/Hanger', size=20),
'developed_sold': fields.char('Developed/Sold', size=20),

}


class product_pspec_details(osv.osv):

_name = "product.pspec.details"

_columns = {
'product_pspec_id' : fields.many2one('product.pspec', 'Product Pspec', required=True),
'product_product_id' : fields.many2one('product.product', 'Product Product', required=True),
'supplier_name': fields.char('Supplier Name', size=20),
'style_number': fields.char('Style Number', size=20),
'where_used': fields.char('Where Used', size=20),
'est_yield': fields.char('Est. Yield', size=20),
'price': fields.char('Price', size=20),
'cost_dz': fields.char('Cost Dz', size=20),
}
_sql_constraints = [
('uniq_name', 'unique(product_product_id, supplier_name, where_used)', "Already Added"),
]

product_pspec()
product_pspec_details()

product_pspec.py.xml

    <?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.ui.view" id="product_pspec_product">
<field name="name">product.pspec</field>
<field name="model">product.pspec</field>
<field name="arch" type="xml">
<form string="Create product Specification" version="7.0">
<group>
<field name="prototype"/>
<field name="style"/>
<field name="customer"/>
<field name="body_type"/>
<field name="program_brand"/>
<field name="color_asstmnt"/>
<field name="size_info"/>
<field name="description"/>
<field name="designer"/>
<field name="factory"/>
<field name="pcs_hanger"/>
<field name="developed_sold"/>
<field colspan="4" name="product_pspec_id" widget="many2one_list">
<tree string="Materials" editable="bottom">
<field name="product_product_id"/>
<field name="Supplier Name"/>
<field name="Style number"/>
<field name="Where Used"/>
</tree>
</field>
</group>
</form>
</field>
</record>
<record id="product_specification_product_act_window" model="ir.actions.act_window">
<field name="name">Product Specification</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">product.pspec</field>
<field name="view_type">form</field>
<field name="view_id" ref="product_pspec_product"/>
</record>
<menuitem
name="Product Specification"
id="menu_product_specification"
parent="base.menu_mrp_root"
sequence="16"
/>


<menuitem
name="Product Pspec"
id="menu_product_pspec"
parent="menu_product_specification"
action="product_specification_product_act_window"
/>


</data>
</openerp>

如何创建下部/标记部分。

** 组件部分是我只需要创建的一个示例。上部和菜单部分已经完成。

最佳答案

已编辑:

据我所知,您希望在 pspec 和 pspec.details 之间创建 one2many 关系。在您的详细信息方面,一切似乎都很好,但在您的 pspec 方面,您需要一个与您的详细信息相关的额外 one2many 字段,例如:

from openerp.osv import orm, fields

class product_pspec(orm.Model):

_name = "product.pspec"

_columns = {
'prototype': fields.char('Prototype#', size=20),
'style': fields.char('Style#', size=20),
'customer': fields.char('Customer', size=20),
'body_type': fields.char('Body Type', size=20),
'program_brand': fields.char('Program/Brand', size=20),
'color_asstmnt': fields.char('Color Asstmnt', size=200),
'size_info': fields.integer('Size Info', size=20),
'description': fields.char('Description', size=500),
'designer': fields.char('Designer', size=20),
'factory': fields.char('factory', size=20),
'pcs_hanger': fields.integer('Pcs/Hanger', size=20),
'developed_sold': fields.char('Developed/Sold', size=20),
'details_ids':fields.one2many("product.pspec.details","product_pspec_id", string="Details") #new field

}


class product_pspec_details(osv.osv):

_name = "product.pspec.details"

_columns = {
'product_pspec_id' : fields.many2one('product.pspec', 'Product Pspec', required=True),
'product_product_id' : fields.many2one('product.product', 'Product Product', required=True),
'supplier_name': fields.char('Supplier Name', size=20),
'style_number': fields.char('Style Number', size=20),
'where_used': fields.char('Where Used', size=20),
'est_yield': fields.char('Est. Yield', size=20),
'price': fields.char('Price', size=20),
'cost_dz': fields.char('Cost Dz', size=20),
}
_sql_constraints = [
('uniq_name', 'unique(product_product_id, supplier_name, where_used)', "Already Added"),
]

然后您必须在 View (xml) 中使用这个新字段:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.ui.view" id="product_pspec_product">
<field name="name">product.pspec</field>
<field name="model">product.pspec</field>
<field name="arch" type="xml">
<form string="Create product Specification" version="7.0">
<group>
<field name="prototype"/>
<field name="style"/>
<field name="customer"/>
<field name="body_type"/>
<field name="program_brand"/>
<field name="color_asstmnt"/>
<field name="size_info"/>
<field name="description"/>
<field name="designer"/>
<field name="factory"/>
<field name="pcs_hanger"/>
<field name="developed_sold"/>
<field colspan="4" name="details_ids">
<tree string="Materials" editable="bottom">
<field name="product_product_id"/>
<field name="supplier_name"/>
<field name="style_number"/>
<field name="where_used"/>
</tree>
</field>
</group>
</form>
</field>
</record>

关于python - OpenERP 7 中的主细节关系、变量和 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21600879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com