Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

odoorpc

October 28, 2019

[18]: import connection_data

[19]: import odoorpc


odoo = odoorpc.ODOO(server, port=port)
odoo.login(db, login, pw)

[20]: user = odoo.env.user


---------------------------------------------------------------------------
,→

RPCError Traceback (most recent call␣


last)
,→

<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)

278 :raise: :class:`odoorpc.error.RPCError`


279 """
--> 280 return cls._browse(cls.env, ids)
281
282 @classmethod

~/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')

362 ids_fetched = set()


363 for row in rows:

~/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)
,→

484 {'service': 'object',


485 'method': 'execute_kw',
--> 486 'args': args_to_send})
487 return data.get('result')
488

~/src/odooenv/lib/python3.5/site-packages/odoorpc/odoo.py in json(self,␣
url, params)
,→

283 raise error.RPCError(


284 data['error']['data']['message'],
--> 285 data['error'])
286 return data
287

RPCError: res.partner(3,).disp
None

2
[ ]: # -*- coding: utf-8 -*-

from odoo import models, fields, api


from datetime import datetime

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

You might also like