簡體   English   中英

SQLAlchemy 返回<name1> ,<name2> 價值觀等</name2></name1>

[英]SQLAlchemy returning <Name1>, <Name2> values etc

目前正在探索 SQLAlchemy。做了所有正確的程序。

Python 代碼:

class User(db.Model):
    id = db.Column(db.Integer(), primary_key=True)
    username = db.Column(db.String(100), nullable=False, unique=True)
    passwd = db.Column(db.String(200), nullable=False)
    date_created = db.Column(db.DateTime, default=datetime.utcnow)

我在終端上做了什么:

>>> db.create_all()
>>> from logins import User
>>> db.session.add(User(username='admin', passwd='passwd'))
>>> db.session.add(User(username='user1', passwd='passwd'))
>>> db.commit_all()
>>> User.query.all()
**[<Name 1>, <Name 2>]**

奇怪的是它返回 <Name 1>, <Name 2> 而不是實際值。 但如果我單獨稱呼它:

>>> User.query.filter_by(username='admin').first()
<Name 1>
>>> me = User.query.filter_by(username='admin').first()
>>> me.id
1
>>> me.username
'admin'
>>> me.passwd
'passwd'
>>>

有什么想法嗎?

當您 query.all() 它為您提供 class“用戶”的所有對象時,它不會提供所有類屬性。 你可以做的是在你的用戶 class 中寫一個 show() Function:

class User(db.Model):
    id = db.Column(db.Integer(), primary_key=True)
    username = db.Column(db.String(100), nullable=False, unique=True)
    passwd = db.Column(db.String(200), nullable=False)
    date_created = db.Column(db.DateTime, default=datetime.utcnow)

def show_info(self):
    print(self.id, self.username, self.passwd, self.date_created)
   

您還可以通過查詢 all 來獲取 class 的所有屬性:

user_query = User.query.all()
user_ids = [user.id for user in user_query.id]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM