简体   繁体   中英

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)

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM