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)