内部类does方法需要一个自变量,但它已被给定。其主要思想是拥有一个类似django数据库模型的模块。有一个包含用户数据的用户类,并用同一个类查询所有结果
class User:
def __init__(self, name, password):
self.name = name
self.password = sha256.encrypt(password)
def verify_password(self, psw):
return sha256.verify(self.password, psw)
def save(self):
cur.execute("INSERT INTO user (name, password) VALUES (?,?)", (self.name, self.password))
conn.commit()
class query(object):
def __init__(self):
self.data = cur.execute("SELECT * from user")
self.test = "test"
def first(self):
return self.data.fetchone()
def all(self):
return self.data.fetchall()
print(User.query.all())
我收到以下错误:
Traceback (most recent call last):
File "C:\Users\Zsolt\Desktop\api\model.py", line 34, in <module>
print(User.query.all())
TypeError: all() missing 1 required positional argument: 'self'
1条答案
按热度按时间yhived7q1#
对于这个答案,我将您的代码简化为一个更通用的代码段:
在突出显示的行中,您永远不会创建类b的示例!标记线应为
A.B().all()
而是创建一个A.B
然后在那个示例上调用一个方法。注意:在代码片段中,您需要更改
User.query.all()
至User.query().all()
.