Reputation: 47
I don't see where is my error, on my product page, I see the dropdown to create/choose a brand but the value is : clicshopping.manufacturer,1 and not for example Asus
When I look my brand page, I see asus has been created and all is correct.
there a part of xml template on my product.
Do you have and idea ?
Thank you
<record model="ir.ui.view" id="product_template_search_view">
<field name="name">product.template.search</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_search_view"/>
<field name="arch" type="xml">
<field name="categ_id" position="after">
<field name="clicshopping_product_manufacturer_id"/>
</field>
<group string='Group by...' position="inside">
<filter string="Manufacturer" name="groupby_manufacturer" domain="[]" context="{'group_by' : 'clicshopping_product_manufacturer_id'}"/>
</group>
</field>
</record>
<record model="ir.ui.view" id="product_template_form_manufacturer">
<field name="name">product.template.product.form</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="clicshopping.template_product_form_view" />
<field name="arch" type="xml">
<field name="clicshopping_products_id" position="after" >
<field name="clicshopping_product_manufacturer_id" placeholder="Brand"/>
</field>
</field>
</record>
<record model="ir.actions.act_window" id="action_clicshopping_manufacturer">
<field name="name">Brand</field>
<field name="res_model">clicshopping.manufacturer</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem name="Brand management" id="menu_clicshopping_manufacturer" action="action_clicshopping_manufacturer" parent="product.prod_config_main"/>
There the code of my .py
from openerp.osv import orm, fields
from openerp.tools.translate import _
class clicshopping_manufacturer(orm.Model):
_name = 'clicshopping.manufacturer'
_columns = {
'clicshopping_manufacturers_id': fields.char('Brand manufacturer Id', size=5, help="Id manufacturer Brand table of ClicShopping must be unique"),
'clicshopping_manufacturers_name': fields.char('Brand Name', size=70, help='Name of brand manufacturer.'),
'clicshopping_manufacturers_url': fields.char('Brand Url', translate=True, size=70, help='Url of brand manufacturer.'),
'clicshopping_partner_id': fields.many2one('res.partner','Partner', help='Select a partner for this brand if it exists.', ondelete='restrict'),
'clicshopping_manufacturers_image': fields.binary('brand logo'),
'clicshopping_manufacturers_status': fields.boolean('Brand Manufacturer Status', default='1', help="If a manufacturer brand is not active, it will not be displayed in the catalog"),
'clicshopping_manufacturer_description': fields.text('Description', translate=True),
'clicshopping_manufacturer_seo_title': fields.char('Brand manufacturer Seo title', translate=True, size=70, help="If it empty, default in ClicSshopping will be taken"),
'clicshopping_manufacturer_seo_description': fields.char('Brand manufacturer Seo Description', translate=True, size=150, help="If it empty, default in ClicSshopping will be taken"),
'clicshopping_manufacturer_seo_keyword': fields.text('Brand manufacturer Seo Keywords', translate=True, help="If it empty, default in ClicSshopping will be taken"),
}
class product_template(orm.Model):
_inherit = 'product.template'
_columns = {
'clicshopping_product_manufacturer_id': fields.many2one('clicshopping.manufacturer','Brand', help='Select a brand for this product.')
}
Upvotes: 0
Views: 1321
Reputation: 25032
You need to declare which field is used for the object name, using the _rec_name
attribute. In your case:
class clicshopping_manufacturer(orm.Model):
_name = 'clicshopping.manufacturer'
_rec_name = 'clicshopping_manufacturers_name'
# ...
Alternatively, you could just rename clicshopping_manufacturers_name
to name
, since name
is the default value for _rec_name
.
I'd choose the second option, if I were you - I think all your field names are way too long, to be honest. I don't see any benefit to prefixing almost all your field names with "clicshopping_manufacturers". This will slow you down and make your code much less readable.
Upvotes: 1