diff --git a/openerp/models.py b/openerp/models.py index eaf643e7889..909de4548a7 100644 --- a/openerp/models.py +++ b/openerp/models.py @@ -3156,7 +3156,9 @@ class BaseModel(object): # here we can optimize: prefetch all classic and many2one fields fnames = set(fname for fname, fcolumn in self._columns.iteritems() - if fcolumn._prefetch) + if fcolumn._prefetch + if not fcolumn.groups or self.user_has_groups(fcolumn.groups) + ) # fetch records with read() assert self in records and field.name in fnames diff --git a/openerp/osv/fields.py b/openerp/osv/fields.py index f27b737a6b9..f11ef97e0ac 100644 --- a/openerp/osv/fields.py +++ b/openerp/osv/fields.py @@ -120,7 +120,7 @@ class _column(object): # prefetch only if self._classic_write, not self.groups, and not # self.deprecated - if not self._classic_write or self.groups or self.deprecated: + if not self._classic_write or self.deprecated: self._prefetch = False def to_field(self):