Impacted versions:10

Steps to reproduce:
Following the code in https://www.odoo.com/documentation/10.0/api_integration.html both in a fresh install and against 'https://demo.odoo.com/start' trows a type error

Current behavior:
Now I get an error when executing:

```
ids = models.execute_kw(db, uid, password,  'res.partner', 'search',
    [[['is_company', '=', True], ['customer', '=', True]]],
    {'limit': 1})
[record] = models.execute_kw(db, uid, password,
    'res.partner', 'read', [ids])
# count the number of fields fetched by default
len(record)
```

In particular it seems to be a type error (cannot marshal class odoo.tools.float_utils.float_precision)

Expected behavior:
I would expect it to behave as in the documentation

return "%s,%s" % (value._name, value.id) if value else False
    def convert_to_export(self, value, record):
        return value.name_get()[0][1] if value else ''
    def convert_to_display_name(self, value, record):
        return ustr(value and value.display_name)
class _Relational(Field):
    """ Abstract class for relational fields. """
    relational = True
    _slots = {
        'domain': [],                   
        'context': {},                  
    }
    def _setup_regular_base(self, model):
        super(_Relational, self)._setup_regular_base(model)
        if self.comodel_name not in model.pool:
            _logger.warning("Field %s with unknown comodel_name %r", self, self.comodel_name)
            self.comodel_name = '_unknown'
    @property
    def _related_domain(self):
        if callable(self.domain):
            
            return lambda recs: self.domain(recs.env[self.model_name])
        else:
            
            return self.domain
    _related_context = property(attrgetter('context'))
    _description_relation = property(attrgetter('comodel_name'))
    _description_context = property(attrgetter('context'))
    def _description_domain(self, env):