Python Flask WTF保存自字段,但不列出路由中的所有request.from

Python Flask WTF保存自字段,但不列出路由中的所有request.from,python,flask,flask-sqlalchemy,wtforms,flask-wtforms,Python,Flask,Flask Sqlalchemy,Wtforms,Flask Wtforms,希望保存正在发布到数据库的信息。我正在使用python flask,这就是我尝试的方式 @app.route('/add-new-song',methods=['GET','POST']) def add_new_song(): form = NewSongForm(request.form) if form.validate_on_submit(): new_song = SongBook() form.populate_obj(new_song

希望保存正在发布到数据库的信息。我正在使用python flask,这就是我尝试的方式

@app.route('/add-new-song',methods=['GET','POST'])
def add_new_song():
    form = NewSongForm(request.form)
    if form.validate_on_submit():
        new_song = SongBook()
        form.populate_obj(new_song)
        db.session.add(new_song)
        db.session.commit()
return render_template('add-new-song.html',form=form)
当我尝试此操作时,会出现以下错误:
TypeError:\uuuuInit\uuuuuz()正好接受6个参数(给定1个)

你有什么想法吗

这些是模型

class SongBook(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    song_book = db.Column(db.String(80))
    title = db.Column(db.String(120))
    artist = db.Column(db.String(120))
    disc_number = db.Column(db.String(120))
    track_number = db.Column(db.String(120))



    def __init__(self, song_book, title, artist, disc_number, track_number):
        self.song_book = song_book  
        self.title = title
        self.artist = artist
        self.disc_number = disc_number
        self.track_number = track_number
追溯

TypeError: __init__() takes exactly 6 arguments (1 given)

Traceback (most recent call last)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 2000, in __call__
return self.wsgi_app(environ, start_response)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1991, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/usr/local/lib/python2.7/dist-packages/flask_restful/__init__.py", line 271, in error_router
return original_handler(e)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1567, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1988, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1641, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python2.7/dist-packages/flask_restful/__init__.py", line 271, in error_router
return original_handler(e)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1544, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1639, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1625, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/a/Desktop/ddtkaraoke.com/app.py", line 118, in add_new_song
new_song = SongBook()
TypeError: __init__() takes exactly 6 arguments (1 given)

创建
歌曲集时,可能需要传递一些参数?如果你能发布完整的回溯,可能还有你的
SongBook
类,这可能会让事情变得更清楚。好的,我发布了模型,非常感谢你的帮助。因此,无法避免声明所有请求表单,例如“title=request.from['title']”。然后自动传递表单字段?问题不在于表单。这是模型。您需要将所有参数设置为
\uuuu init\uuu
关键字参数。或者,更好的是,因为您所做的只是赋值,所以您可以删除您的值,让基类提供的值为您完成工作!thanksPerhaps您需要在创建
歌曲集
时传递一些参数吗?如果你能发布完整的回溯,可能还有你的
SongBook
类,这可能会让事情变得更清楚。好的,我发布了模型,非常感谢你的帮助。因此,无法避免声明所有请求表单,例如“title=request.from['title']”。然后自动传递表单字段?问题不在于表单。这是模型。您需要将所有参数设置为
\uuuu init\uuu
关键字参数。或者,更好的是,因为您所做的只是赋值,所以您可以删除您的值,让基类提供的值为您完成工作!谢谢