Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error in python - object of type 'NoneType' has no len()

I am not sure what is wrong with my python code:

geneid=request.args.get('geneid')
sql=text('select * from INFO where name=:ident')
genes=engine.execute(sql,ident=geneid).fetchone()
params['objs']=genes
if len(genes)==0:
    flash('NO RESULTS')
return render_template('info.html', **params)

The error message is: TypeError: object of type 'NoneType' has no len()

Any suggestion? I would like to show a flash message when there is no result in my query. I tried also (but did not work):

geneid=request.args.get('geneid')
sql=text('select * from INFO where name=:ident')
genes=engine.execute(sql,ident=geneid).fetchone()
params['objs']=genes
if no genes:
    flash('NO RESULTS')
return render_template('info.html', **params)
like image 275
Alex Avatar asked May 25 '17 18:05

Alex


1 Answers

You are trying to get len(None). What you want is

if genes is None:
    flash('NO RESULTS')

Note: Python does not have a no keyword. The closest thing is the not operator.

like image 112
David Cullen Avatar answered Sep 29 '22 09:09

David Cullen