【发布时间】:2023-03-11 10:56:02
【问题描述】:
我正在学习使用 Flask 和 Python 的教程,现在使用 SQLAlchemy 和 SQLite 设置一个虚拟数据库。
我正在 Python 终端解释器中工作,并成功地从我的“用户”表类中创建了一条虚拟记录,如下所示:
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(20),unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
image_file = db.Column(db.String(20), nullable=False, default='default.jpg')
password = db.Column(db.String(60), nullable=False,)
然后我查询了“用户名”并从结果中创建了一个变量。当我使用这些数据时,我得到一个完全如下的错误(从终端复制):
>>> user_2 = User(username='Yuki', email='c@d.com', password='pass')
>>> db.session.add(user_2)
User.query.filter_by(username='Yuki').all()
[User('Yuki','c@d.com,'default.jpg')]
>>> Yuki = User.query.filter_by(username='Yuki').all()
>>> Yuki
[User('Yuki','c@d.com,'default.jpg')]
>>> Yuki.username
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'username'
如您所见,当我查询记录时,数据都在那里,但它不会返回此查询下的用户名属性。
我误解了语法吗?它清楚地正确注册和存储用户名。如果您能发现任何明显的东西,请告诉我,我希望这是一个简单的错误!提前感谢您的任何建议,我真的很喜欢设置它,并且很乐意继续。
【问题讨论】:
标签: python sqlalchemy