docs: def create(self, **kwargs):
          """
          Creates entity instance and related Attr instances.
  
          Note that while entity instances may filter schemata by fields, that
          filtering does not take place here. Attribute of any schema will be saved
          successfully as long as such schema exists.
  
          Note that we cannot create attribute with no pre-defined schema because
          we must know attribute type in order to properly put value into the DB.
          """
  
          fields = self.model._meta.get_all_field_names()
          schemata = dict((s.name, s) for s in self.model.get_schemata_for_model())
  
          # check if all attributes are known
          possible_names = set(fields) | set(schemata.keys())
          wrong_names = set(kwargs.keys()) - possible_names
          if wrong_names:
              raise NameError('Cannot create %s: unknown attribute(s) "%s". '
                              'Available fields: (%s). Available schemata: (%s).'
                              % (self.model._meta.object_name, '", "'.join(wrong_names),
                                 ', '.join(fields), ', '.join(schemata)))
  
          # init entity with fields
          instance = self.model(**dict((k,v) for k,v in kwargs.items() if k in fields))
  
          # set attributes; instance will check schemata on save
          for name, value in kwargs.items():
              setattr(instance, name, value)
  
          # save instance and EAV attributes
          instance.save(force_insert=True)
  
          return instance