烧瓶__init __()缺少1个必需的位置参数:“ id”

时间:2018-11-29 19:57:34

标签: python sqlalchemy

这可能是一个菜鸟问题,但我无缘无故地收到此错误

__ 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 __()中删除?

1 个答案:

答案 0 :(得分:3)

要么在创建test1对象时传递id的值,要么从init函数中删除“ id”参数,因为init在创建对象时需要id。 数据库可以处理“ id”的自动递增。因此,您无需使用代码来设置“ id”的值。