《Flask Web開發 基於Python的Web應用開發實戰》書中關於定義sqlalchemy類的疑問
《Flask Web開發 基於Python的Web應用開發實戰》一書中,使用sqlalchemy定義類,使用的是類屬性,沒有類構造函數(__init__()),也沒有實例屬性:
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
email = db.Column(db.String(120), unique=True)
def __repr__(self):
return '<User %r>' % self.username
使用時:
>>> from yourapplication import User
>>> admin = User(username='admin',email= '[email protected]')
>>> guest = User(username='guest', email='[email protected]')
而在Flask-SQLAlchemy快速入門中給的例子是使用了構造函數和實例屬性:
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
email = db.Column(db.String(120), unique=True)
def __init__(self, username, email):
self.username = username
self.email = email
def __repr__(self):
return '<User %r>' % self.username
使用:
>>> from yourapplication import User
>>> admin = User('admin', '[email protected]')
>>> guest = User('guest', '[email protected]')
我的疑問是:在操作數據庫時,它利用的是類屬性(表結構)還是實例屬性?抑或兩者都可以?