-1
ログインのデータベースを保存しようとすると、このエラーTypeError: __init__() takes exactly 1 argument (5 given)
が発生します。複数のパラメータでコンストラクタを初期化する
logs_transactions = Logs_transactions('test', 'test', 910000000, current_user.id)
db.session.add(logs_transactions)
db.session.commit()
class Logs_transactions(db.Model):
__tablename__ = 'logs_transactions'
id = db.Column(db.Integer, primary_key=True)
type = db.Column(db.String(100))
reference = db.Column(db.String(500))
phone_number = db.Column(db.Integer)
user_id = db.Column(db.Integer, db.ForeignKey('users_user.id'))
def __init__(self, **kwargs):
super(User, self).__init__(**kwargs)
私は私がこのようなものを使用することができます知っている:
def __init__(self, type, reference, phone_number, user_id):
self.type = type
self.reference = reference
self.phone_number = phone_number
self.user_id = user_id
をしかし、私は多くのパラメータがある場合は、この方法では迷惑です。だから私は上記のコンストラクタは同等だと思っていますが、明らかに動作していません。基本的には、すべてのパラメータに対して明示的なself.xxxを避けたいと思います。