gpt4 book ai didi

python - Flask-类型错误 : __init__() missing 2 required positional arguments: 'name' and 'user_id'

转载 作者:行者123 更新时间:2023-11-28 22:15:22 25 4
gpt4 key购买 nike

当我使用Python插入数据时,遇到以下问题:

Traceback (most recent call last):
File "D:/Documents/python/dbFlask/web/models.py", line 42, in <module>
env = Env()
TypeError: __init__() missing 2 required positional arguments: 'name' and 'user_id'

我的init.py是这样的:

from flask import Flask
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] =
"mysql+pymysql://root:<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="25141716651417120b150b150b14" rel="noreferrer noopener nofollow">[email protected]</a>:3306/env"

我的operateDB.py的关键代码是这样的:

class Env(db.Model):

def __init__(self, name, user_id):
self.name = name
self.user_id = user_id

id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255), unique=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
env = Env()
env.name = 'test01'
env.user_id = '1'
db.session.add(env)
db.session.commit()

问题发生在我运行operateDB.py之后。我找不到问题的解决方案。

最佳答案

当你在Python中创建一个对象时,它会调用__init__()方法,在你的情况下,__init__(self, name, user_id)方法中有2个参数,所以您应该在创建 Env 对象时提供这两个值,例如 env = Env('test01', '1')

所以而不是

env = Env()
env.name = 'test01'
env.user_id = '1'

使用

env = Env('test01', '1')

关于python - Flask-类型错误 : __init__() missing 2 required positional arguments: 'name' and 'user_id' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52889273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com