Professional Documents
Culture Documents
Connection - Data Odoorpc
Connection - Data Odoorpc
␣
---------------------------------------------------------------------------
,→
<ipython-input-20-58be8eaefc71> in <module>
----> 1 user = odoo.env.user
~/src/odooenv/lib/python3.5/site-packages/odoorpc/env.py in user(self)
239 :raise: :class:`odoorpc.error.RPCError`
240 """
--> 241 return self['res.users'].browse(self.uid)
242
243 @property
~/src/odooenv/lib/python3.5/site-packages/odoorpc/models.py in␣
,→browse(cls, ids)
~/src/odooenv/lib/python3.5/site-packages/odoorpc/models.py in␣
_browse(cls, env, ids, from_record, iterated)
,→
1
244 records._values[field] = {}
245 records._values_to_write[field] = {}
--> 246 records._init_values()
247 return records
248
~/src/odooenv/lib/python3.5/site-packages/odoorpc/models.py in␣
,→_init_values(self, context)
359 if self.ids:
360 rows = self.__class__.read(
--> 361 self.ids, basic_fields, context=context,␣
,→load='_classic_write')
~/src/odooenv/lib/python3.5/site-packages/odoorpc/models.py in␣
,→rpc_method(*args, **kwargs)
72 kwargs['context'] = cls.env.context
73 result = cls._odoo.execute_kw(
---> 74 cls._name, method, args, kwargs)
75 return result
76 return rpc_method
~/src/odooenv/lib/python3.5/site-packages/odoorpc/odoo.py in␣
execute_kw(self, model, method, args, kwargs)
,→
~/src/odooenv/lib/python3.5/site-packages/odoorpc/odoo.py in json(self,␣
url, params)
,→
RPCError: res.partner(3,).disp
None
2
[ ]: # -*- coding: utf-8 -*-
class ahgsma_disponibilidad(models.Model):
_name = 'ahgsma.disponibilidad'
partner_id = fields.Many2one(
string=u'partner_id',
comodel_name='res.partner',
ondelete='set null',
default=lambda self: self.env.user.partner_id.id
,
)
date = fields.Date(
string=u'date',
default=fields.Date.context_today,
)
text = fields.Text(
string=u'text',
)
def display_name(self):
return '{} - {}'.format(self.partner_id.name, self.date)
def _get_disp(self):
disp = self.search([('date','=',datetime.today())])
return disp
class partner(models.Model):
_inherit = ['res.partner']
disponibilidad = fields.One2many(
string=u'disponibilidad',
comodel_name='ahgsma.disponibilidad',
inverse_name='partner_id',
)
disp = fields.Text(
string=u'disp',
compute='_compute_disp',
3
)
@api.depends('disponibilidad.text')
def _compute_disp(self):
for record in self:
disp = record.disponibilidad.search(['&',('partner_id', '=', record.
,→id),('date','=',datetime.today() )])
if disp:
record.disp = disp[-1].text