docs: def save(self, force_eav=False, **kwargs):
          """
          Saves entity instance and creates/updates related attribute instances.
  
          :param eav: if True (default), EAV attributes are saved along with entity.
          """
          # save entity
          super(BaseEntity, self).save(**kwargs)
  
          # TODO: think about use cases; are we doing it right?
          #if not self.check_eav_allowed():
          #    import warnings
          #    warnings.warn('EAV attributes are going to be saved along with entity'
          #                  ' despite %s.check_eav_allowed() returned False.'
          #                  % type(self), RuntimeWarning)
  
  
          # create/update EAV attributes
          for schema in self.get_schemata():
              value = getattr(self, schema.name, None)
              schema.save_attr(self, value)