Using 0.4.0 sqlalchemy-datatables, from client I am using Editor, and datatables sends the "select" column with a blank name. I suspect this is causing an IndexError. What is best way to configure ColumnDT for the case when column is not in database, but generated at client?
columns = [
ColumnDT('', mData='', searchable=False),
ColumnDT('place', mData='place'),
ColumnDT('name', mData='resultname'),
ColumnDT('gender', mData='gender', searchable=False),
ColumnDT('age', mData='age', searchable=False, filterarg='row', filter=renderage),
ColumnDT('initialdisposition', mData='membertype'),
ColumnDT('confirmed', mData='confirm', searchable=False),
ColumnDT('runnerid', mData='runnerid'),
ColumnDT('hometown', mData='hometown'),
ColumnDT('club', mData='club'),
ColumnDT('time', mData='time', searchable=False, filter=lambda c: render.rendertime(c, 0)), # TODO: get precision
]
I am seeing request from datatables client (unquoted and '&' split for convenience and readability, note column [0])
['/_editparticipants/171?draw=2',
'columns[0][data]=',
'columns[0][name]=',
'columns[0][searchable]=true',
'columns[0][orderable]=false',
'columns[0][search][value]=',
'columns[0][search][regex]=false',
'columns[1][data]=place',
'columns[1][name]=place',
'columns[1][searchable]=true',
'columns[1][orderable]=true',
'columns[1][search][value]=',
'columns[1][search][regex]=false',
'columns[2][data]=resultname',
'columns[2][name]=resultname',
'columns[2][searchable]=true',
'columns[2][orderable]=true',
'columns[2][search][value]=',
'columns[2][search][regex]=false',
'columns[3][data]=gender',
'columns[3][name]=gender',
'columns[3][searchable]=true',
'columns[3][orderable]=true',
'columns[3][search][value]=',
'columns[3][search][regex]=false',
'columns[4][data]=age',
'columns[4][name]=age',
'columns[4][searchable]=true',
'columns[4][orderable]=true',
'columns[4][search][value]=',
'columns[4][search][regex]=false',
'columns[5][data]=disposition',
'columns[5][name]=disposition',
'columns[5][searchable]=true',
'columns[5][orderable]=true',
'columns[5][search][value]=',
'columns[5][search][regex]=false',
'columns[6][data]=membertype',
'columns[6][name]=membertype',
'columns[6][searchable]=true',
'columns[6][orderable]=true',
'columns[6][search][value]=',
'columns[6][search][regex]=false',
'columns[7][data]=confirm',
'columns[7][name]=confirm',
'columns[7][searchable]=true',
'columns[7][orderable]=true',
'columns[7][search][value]=',
'columns[7][search][regex]=false',
'columns[8][data]=runnerid',
'columns[8][name]=runnerid',
'columns[8][searchable]=true',
'columns[8][orderable]=true',
'columns[8][search][value]=',
'columns[8][search][regex]=false',
'columns[9][data]=hometown',
'columns[9][name]=hometown',
'columns[9][searchable]=true',
'columns[9][orderable]=true',
'columns[9][search][value]=',
'columns[9][search][regex]=false',
'columns[10][data]=club',
'columns[10][name]=club',
'columns[10][searchable]=true',
'columns[10][orderable]=true',
'columns[10][search][value]=',
'columns[10][search][regex]=false',
'columns[11][data]=time',
'columns[11][name]=time',
'columns[11][searchable]=true',
'columns[11][orderable]=true',
'columns[11][search][value]=',
'columns[11][search][regex]=false',
'order[0][column]=11',
'order[0][dir]=asc',
'start=0',
'length=10',
'search[value]=',
'search[regex]=false',
'_=1468056202626']
rowTable = DataTables(request.args, ManagedResult, ManagedResult.query.filter_by(club_id=club_id,raceid=raceid), columns, dialect='mysql')
File "C:\Users\Lou\Documents\Lou's Software\projects\rrwebapp\rrwebapp\lib\site-packages\datatables\__init__.py", line 172, in __init__
self.run()
File "C:\Users\Lou\Documents\Lou's Software\projects\rrwebapp\rrwebapp\lib\site-packages\datatables\__init__.py", line 226, in run
self.sorting()
File "C:\Users\Lou\Documents\Lou's Software\projects\rrwebapp\rrwebapp\lib\site-packages\datatables\__init__.py", line 398, in sorting
int(self.request_values[columnOrder % i])].column_name,
IndexError: list index out of range