我正在使用sqlalchemy,来自学习使用ruby/rails activerecord和datamapper的orm,它有点不同.
所以,有一些模型并需要我认为的类和实例级方法,我看到python没有这样做,或者到目前为止我对python的理解不会这样做.为模型构建新方法的pythonic方法是什么:装饰器,制作模块和导入方法等?我需要各种各样的东西,所以没有特定的编码问题,只是一般性请求指导有效的方法来处理模型sqlalchemy需要处理模型特定的方法.
注意:这不是讨论语言细节的邀请,我只提到我到目前为止所学到的内容,以及如何在新的情况下将其应用到应用程序中.
您可以在模型定义中将模型方法作为类方法.例如:
class User(object):
@classmethod
def get_by_username(cls, dbsession, username):
return dbsession.query(cls).filter(cls.username==username).scalar()
mapper(User, tables.auth_user,
properties={
...
}
)
Run Code Online (Sandbox Code Playgroud)
允许您将该类用作表特定方法的容器.像这样:
user = User.get_by_username(session, "me")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1680 次 |
| 最近记录: |