async def update(
         self,
         db: SQLAlchemyUserDatabase,
         *,
         user_db: models.UserDB,
         user: domain.User
 ) -> (DbModelType, DomainModelType):
     if isinstance(user, dict):
         update_data = user
     else:
         update_data = user.dict(exclude_unset=True)
     columns = [col.key for col in inspect(user_db).mapper.column_attrs]
     for field in update_data:
         if field in columns:
             setattr(user_db, field, update_data[field])
     await db.update(user_db)
     return user_db, domain.User.from_orm(user_db)