Alex
Alex

Reputation: 355

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)

Upvotes: 6

Views: 39362

Answers (1)

user3657941
user3657941

Reputation:

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.

Upvotes: 12

Related Questions