这可能是一个菜鸟问题,但我无缘无故地收到此错误
__ init __()缺少1个必需的位置参数:'id'
class test1(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True) # <-- it's right there
idNo = db.Column(db.Integer,unique=True)
Name = db.Column(db.String(255))
Type = db.Column(db.String(255))
Date = db.Column(db.String(255))
style = db.Column(db.String(255))
from = db.Column(db.String(255))
pCode = db.Column(db.String(25),unique=True)
def __init__(self,id,idNo,Name,Type,Date,style,from,pCode):
self.id = id # <-- it's right there
self.idNo= idNo
self.Name = Name
self.Type = Type
self.Date = Date
self.style = style
self.from = history
self.pCode = pCode
jD = {idNo:"Integer_value",Name:"value",Type:"value",Date:"value",style:"value",from:"value",pCode:"value"}
for j in jD:
x = test1(
idNo=j["idNo"],
Name=j["Name"],
Type=j["Type"],
Date=j["Date"],
style=j["style"],
from =j["from"],
pCode=pCode)
db.session.add(x)
我在Python上不断收到此错误>> __init__() missing 1 required positional argument: 'id'
我是否应该在上新课时提及“ 整数自动增量”?
还是我必须将其从class test1()
和__init __()
中删除?
答案 0 :(得分:3)
要么在创建test1对象时传递id的值,要么从init函数中删除“ id”参数,因为init在创建对象时需要id。 数据库可以处理“ id”的自动递增。因此,您无需使用代码来设置“ id”的值。