【发布时间】:2026-02-22 23:50:01
【问题描述】:
我在烧瓶中有一个应用程序,它有两个字段作为用户输入,但是,我想连接输入以使用 sqlalchemy 在 sql 表中查询结果,但是它一直给我错误:
TypeError:+ 不支持的操作数类型:“NoneType”和“NoneType”
@search.route('/specie_results', methods=['GET','POST'])
def specie_results():
form = SpecieSearchForm()
genus = form.genus.data
specie = form.specie.data
species = genus + specie
species_req = Files.get_by_species(species)
return render_template ('specie_results.html', form=form, species_req=species_req)
这是我的表单代码
class SpecieSearchForm(FlaskForm):
genus = StringField('genus', validators=[DataRequired(), Length(max=64)])
specie = StringField('specie', validators=[DataRequired()])
submit = SubmitField('specie search’)
模型代码:
class Files(db.Model):
__tablename__ = 'files'
id = db.Column(db.Integer, primary_key=True)
filename = db.Column(db.String(100), unique=False, nullable=False)
intensity = db.Column(db.Float, unique=False, nullable=False)
mz = db.Column(db.Float, unique=False, nullable=False)
origin = db.Column(db.String(100), unique=False, nullable=False)
species = db.Column(db.String(60), unique=False, nullable=False)
wd = db.Column(db.String(60), unique=False, nullable=False)
time_created = db.Column(db.DateTime(timezone=True), server_default=func.now())
time_updated = db.Column(db.DateTime(timezone=True), onupdate=func.now())
def save(self):
if not self.id:
db.session.add(self)
db.session.commit()
def delete(self):
db.session.delete(self)
db.session.commit()
@staticmethod
def get_all():
return Files.query.all()
@staticmethod
def get_by_species(species):
return Files.query.filter_by(species=species).all()
我需要连接 genus 和 specie 以匹配字段中的物种,但我不知道如何在没有错误的情况下做到这一点。
【问题讨论】:
标签: python-3.x flask flask-sqlalchemy