【发布时间】:2018-12-21 11:26:15
【问题描述】:
我收到 TypeError:init() 缺少 1 个必需的位置参数:'status'。我查看了类似的帖子,但没有发现任何有用的东西。
这是我的 views.py 文件,将表单输入添加到我的数据库中
@equipment_blueprint.route('/add', methods=['GET','POST'])
def add_equipment():
form = addEquipment()
if form.validate_on_submit():
equipment_type = form.equipment_type.data
asset_id = form.asset_id.data
year = form.year.data
make = form.make.data
model = form.model.data
serial = form.serial.data
hours = form.hours.data
ownership = form.ownership.data
status = form.status.data
#add new machine to the database
new_equipment = EquipmentInfo(equipment_type,asset_id,year,
make,model,serial,hours,ownership,status)
db.session.add(new_equipment)
db.session.commit()
return redirect(url_for('equipment_info_blueprint.list_equipment'))
return render_template('add_equipment.html', form=form)
这是我的 models.py 文件,用于创建“状态”所在的表
from maintApp import db
class EquipmentInfo(db.Model):
__tablename__ = 'equipment_table'
id = db.Column(db.Integer, primary_key=True)
equipment_type = db.Column(db.Text)
asset_id = db.Column(db.Text)
year = db.Column(db.Integer)
make = db.Column(db.Text)
model = db.Column(db.Text)
serial = db.Column(db.Text)
#add location details later
hours = db.Column(db.Text)
ownership = db.Column(db.Text)
status = db.Column(db.Text)
def __init__(self,id,equipment_type,asset_id,year,make,model,
serial,hours,ownership,status):
self.id = id
self.equipment_type = equipment_type
self.asset_id = asset_id
self.year = year
self.make = make
self.model = model
self.serial = serial
self.hours = hours
self.ownership = ownership
self.status = status
def __repr__(self):
return str(self.id)
return str(self.equipment_type)
return str(self.asset_id)
return str(self.year)
return str(self.make)
return str(self.model)
return str(self.serial)
return str(self.hours)
return str(self.ownership)
return str(self.status)
这是创建表单的 html 中的 sn-p
<div class="container">
<form method="POST">
<br>
<h2>
Enter Equipment Information:
</h2>
<br>
{{ form.hidden_tag() }}
{{ form.equipment_type.label }} {{ form.equipment_type() }}<br>
{{ form.asset_id.label }} {{ form.asset_id() }}<br>
{{ form.year.label }} {{ form.year() }}<br>
{{ form.make.label }} {{ form.make() }}<br>
{{ form.model.label }} {{ form.model() }}<br>
{{ form.serial.label }} {{ form.serial() }}<br>
{{ form.hours.label }} {{ form.hours() }}<br>
{{ form.ownership.label }} {{ form.ownership() }}<br>
{{ form.status.label }} {{ form.status() }}<br>
{{ form.submit() }}
</form>
</div>
我在不同的项目中使用了几乎相同的代码,从未遇到过这个错误。我错过了什么吗?我在其他一些示例中看到了构造 def init() 函数的不同方法,但它们对我的代码没有意义。感谢您的帮助!
【问题讨论】: