在金字塔中检查SQLAlchemy查询结果

在金字塔中检查SQLAlchemy查询结果,sqlalchemy,pyramid,Sqlalchemy,Pyramid,我正在尝试使用金字塔框架和sqlalchemy ORM向python中的(相当大的)现有项目writent添加一个方法。我想用sqlalchemy执行sql查询,但以前从未用pyramid或sqlalchemy开发过。因此,我想测试它并查看查询是否返回我期望的结果,但我不想添加无用的代码来测试我的查询(如新模板、视图等)。我的SQL查询是: select a.account_type, u.user_id from accounts a inner join account_users au o

我正在尝试使用金字塔框架和sqlalchemy ORM向python中的(相当大的)现有项目writent添加一个方法。我想用sqlalchemy执行sql查询,但以前从未用pyramid或sqlalchemy开发过。因此,我想测试它并查看查询是否返回我期望的结果,但我不想添加无用的代码来测试我的查询(如新模板、视图等)。我的SQL查询是:

select a.account_type, u.user_id from accounts a inner join account_users au on a.account_id=au.account_id inner join users u on u.user_id=au.user_id where u.user_id = ?;
我的方法是:

def find_account_type_from_user_id(self,user_id):
    '''
    Method that finds the account type (one/several points of sale...)
    from the id of the user who is linked to this account

    :param user_id:
    :return:(string) account_type
    '''

    q = self.query(Account)\
        .join(AccountUser)\
        .join(User)\
        .filter(User.user_id == user_id)\
        .one()

    return q

ps:我已经在互联网上搜索过了,但我只找到了诸如:单元测试之类的东西,我从来没有这样做过。(对不起)

单元测试是测试新服务、修复、重构代码等的必备工具,您需要一个良好的单元测试集合。
您可以开始。

查看SQLAlchemy查询内容的两种方法

  • sqlalchemy
    日志记录级别设置为INFO-请参阅说明

  • 使用,它将显示视图中的所有查询

  • 使用交互方式执行查询-无需添加视图


好的,我来看看。但是我已经用Symfony构建了应用程序,在那里你可以为文档安装一个特殊的包,在那里你有一个类似于:mysebsite.com/doc的页面,在那里你有你所有的方法,你可以测试它们(你可以输入一些输入值,你会收到方法的响应)。谢谢!我会试试你的建议:)