def build_input(self, column_name, **kwargs):
        ''' DON'T OVERRIDE THIS UNLESS YOU KNOW WHAT YOU DO
        This method is used to generate input
        '''
                
        # return custom input if user has already define the function
        if hasattr(self, 'build_input_'+column_name):
            kwargs = self._build_input_attribute(column_name, kwargs)
            return getattr(self, 'build_input_'+column_name)(**kwargs)
        # otherwise, return default input
        
        html = ''
        if column_name in self._get_relation_names():
            relation_metadata = self._get_relation_metadata(column_name)
            if relation_metadata.uselist:
                html = self._build_one_to_many_input(column_name, **kwargs)               
            else:
                html = self._build_many_to_one_input(column_name, **kwargs)
        else:
            html = self._build_column_input(column_name, **kwargs)
        return html
dataset/ETHPy150Open goFrendiAsgard/kokoropy/kokoropy/model.py/DB_Model.build_input/original