我在显示相关表格以供输入时出现以下错误。在
sqlalchemy.orm.exc.UnmappedInstanceError UnmappedInstanceError: Class 'sqlalchemy.util._collections.result' is not mapped
这是models.py
class Project(db.Model):
__tablename__ = 'projects'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(175), unique=True, nullable=False)
description = db.Column(db.Text)
#---------------------------
region = db.Column(db.Integer, db.ForeignKey('regions.id'))
district = db.Column(db.Integer, db.ForeignKey('districts.id'))
subdistrict = db.Column(db.Integer, db.ForeignKey('subdistricts.id'))
village = db.Column(db.Integer, db.ForeignKey('villages.id'))
#------------------------------------
baseline = db.Column(db.Text())
performance_indicator = db.Column(db.Text)
budget = db.Column(db.Float())
author = db.Column(db.Integer, db.ForeignKey('users.id'))
posted_date = db.Column(db.DateTime)
start_date = db.Column(db.DateTime)
est_completion = db.Column(db.DateTime)
mark_complete = db.Column(db.Boolean, default=False)
activities = db.relationship('Activity', backref='projects', cascade='all, delete-orphan', lazy='dynamic')
remarks = db.relationship('Remark', backref='projects', cascade='all, delete-orphan', lazy='dynamic')
beneficiary = db.Column(db.Integer, db.ForeignKey('beneficiaries.id'))
sector = db.Column(db.Integer, db.ForeignKey('sectors.id'))
media = db.relationship('Media', secondary=projects_media, backref='projects')
def __init__(self, id, title, description, baseline, performance_indicator, budget, remark, remark_author, author, posted_date, start_date, est_completion, mark_complete):
self.id = id
self.title = title
self.description = description
self.baseline = baseline
self.performance_indicator = performance_indicator
self.budget = budget
self.author = author
self.posted_date = posted_date
self.start_date = start_date
self.est_completion = est_completion
self.mark_complete = mark_complete
forms.py
最后我的views.py
@app.route('/add', methods=['GET', 'POST'])
def deliverables():
forms = ProjectForm()
if request.method == 'POST' and forms.validate_on_submit():
pmodel = Project(title=forms.title.data,description=forms.description.data, baseline=forms.baseline.data, performance_indicator=forms.performance_indicator.data, budget=forms.budget.data, author='mainuser', posted_date=datetime.datetime.utcnow(), start_date=forms.started.data, est_completion=forms.estimated_completion.data, mark_complete=forms.completed.data)
db.session.add(pmodel)
db.session.commit()
return render_template('front/deliverables_edit.html', forms=forms)
query_factory
回调应该返回完整的实体,而不是列作为您的代码:
无法将列返回到QuerySelectField的查询工厂(必须返回查询),您已在QuerySelectField的get_标签处指定:
sector = QuerySelectField(get_label='Service Sector',query_factory=sector_lists)
够了。必须更改函数
^{pr2}$sector_lists
:相关问题 更多 >
编程相关推荐