I am trying to learn how to write code to access field content in models of odoo.
I wrote a simple model with a test method:
class hago_product_template(models.Model):
_name='product.template'
_inherit='product.template'@api.one
def _set_my_list_price(self):
pricelists = self.env['product.pricelist.item'].search([('product_tmpl_id', '=', self.id)])
for pricelist in pricelists:
pricelist_id = pricelist.pricelist_id
base_pricelist = self.env['product.pricelist'].browse(pricelist_id)
temp_name = base_pricelist.name # stuck hereself.my_list_price = pricelist_id
my_list_price=fields.Float('Sale Price', compute="_set_my_list_price")
The code ran until the line "temp_name=...". I traced it line-by-line thru the eclipse debugger. When I execute the line temp_name = base_pricelist.name, the debugger console showed the following:
2016-05-07 09:50:51,249 26808 INFO hago openerp.sql_db: Programming error: can't adapt type 'product.pricelist', in query SELECT "product_pricelist"."name" as "name","product_pricelist"."create_date" as "create_date","product_pricelist"."currency_id" as "currency_id","product_pricelist"."write_uid" as "write_uid","product_pricelist"."id" as "id","product_pricelist"."write_date" as "write_date","product_pricelist"."company_id" as "company_id","product_pricelist"."create_uid" as "create_uid","product_pricelist"."active" as "active" FROM "product_pricelist" WHERE "product_pricelist".id IN %s ORDER BY "product_pricelist"."name"
2016-05-07 09:50:51,264 26808 WARNING hago openerp.models: Comparing apples and oranges: product.pricelist(2,) == 2 (/home/simonlee/workspace/odoo9/openerp/models.py:5621)
2016-05-07 09:50:51,277 26808 WARNING hago openerp.models: Comparing apples and oranges: product.pricelist(2,) == 3 (/home/simonlee/workspace/odoo9/openerp/models.py:5621)
2016-05-07 09:50:51,292 26808 INFO hago openerp.sql_db: Programming error: can't adapt type 'product.pricelist', in query SELECT "product_pricelist"."name" as "name","product_pricelist"."create_date" as "create_date","product_pricelist"."currency_id" as "currency_id","product_pricelist"."write_uid" as "write_uid","product_pricelist"."id" as "id","product_pricelist"."write_date" as "write_date","product_pricelist"."company_id" as "company_id","product_pricelist"."create_uid" as "create_uid","product_pricelist"."active" as "active" FROM "product_pricelist" WHERE "product_pricelist".id IN %s ORDER BY "product_pricelist"."name"
Can someone tell me what I did wrong? How I can access the content of the product.pricelist record??? Thanks