【发布时间】:2013-10-16 00:16:50
【问题描述】:
在SQLAlchemy ORM tutorial 中给出了以下代码作为将映射到表的类的示例:
>>> from sqlalchemy import Column, Integer, String
>>> class User(Base):
... __tablename__ = 'users'
...
... id = Column(Integer, primary_key=True)
... name = Column(String)
... fullname = Column(String)
... password = Column(String)
...
... def __init__(self, name, fullname, password):
... self.name = name
... self.fullname = fullname
... self.password = password
...
... def __repr__(self):
... return "<User('%s','%s', '%s')>" % (self.name, self.fullname, self.password)
如果name、fullname和password在类实例化时由用户在__init__方法中设置,那么将它们声明为Column对象(即作为类变量)有什么意义?我不明白 SQLAlchemy 如何以及何时能够使用这些信息 - 它是否以某种方式通过 User 继承的“Base”类传递给 SQLAlchemy 模块? (我认为不可能以这种方式将信息传递给一个单元——通过声明一个继承自另一个类的类)。
【问题讨论】:
标签: python sqlalchemy