web-dev-qa-db-fra.com

Erreur dans python - l'objet de type 'NoneType' n'a pas de len ()

Je ne sais pas ce qui ne va pas avec mon code python:

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)

Le message d'erreur est: TypeError: l'objet de type 'NoneType' n'a pas de len ()

Toute suggestion? Je voudrais afficher un message flash lorsqu'il n'y a aucun résultat dans ma requête. J'ai aussi essayé (mais ça n'a pas marché):

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)
5
Alex

Vous essayez d'obtenir len(None). Ce que tu veux c'est

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

Remarque: Python n'a pas de mot clé no. Le plus proche est le not opérateur.

10
David Cullen