擅长:python、mysql、java
<p>不幸的是,SQLAlchemy不允许您在没有相应表声明的情况下子类<code>Base</code>。您可以将带有<code>get_by_id</code>的<a href="http://www.sqlalchemy.org/docs/reference/ext/declarative.html#mixin-classes" rel="nofollow noreferrer">mixin class</a>定义为一个类方法,但是您需要为每个类指定它。在</p>
<p>一个更快更脏的解决方案是只需将其嵌入<code>Base</code>:</p>
<pre><code>def get_by_id(cls, id, session=session):
return session.query(cls).filter_by(id=id).one()
Base.get_by_id = classmethod(get_by_id)
</code></pre>
<p>这假设在定义时有一个<code>session</code>对象可用,否则每次都需要将其作为参数传递。在</p>