首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用sqlalchemy选择所有行?

如何使用sqlalchemy选择所有行?
EN

Stack Overflow用户
提问于 2010-04-14 05:09:02
回答 2查看 140.7K关注 0票数 52

我正在尝试从一个表中获取所有行。

在控制器中,我有:

代码语言:javascript
复制
meta.Session.query(User).all()

结果是[, ],但是我在这个表中有2行。

我将此模型用于该表:

代码语言:javascript
复制
import hashlib
import sqlalchemy as sa
from sqlalchemy import orm

from allsun.model import meta

t_user =  sa.Table("users",meta.metadata,autoload=True)

class Duplicat(Exception):
    pass
class LoginExistsException(Exception):
    pass
class EmailExistsException(Exception):
    pass

接下来,在同一个文件中:

代码语言:javascript
复制
class User(object):
    def loginExists(self):
        try:
            meta.Session
                .query(User)
                .filter(User.login==self.login)
                .one()
        except orm.exc.NoResultFound:
            pass
        else:
            raise LoginExistsException()

    def emailExists(self):
        try:
            meta
                .Session
                .query(User)
                .filter(User.email==self.email)
                .one()
        except orm.exc.NoResultFound:
            pass
        else:
            raise EmailExistsException()


    def save(self):
        meta.Session.begin()
        meta.Session.save(self)
        try:
            meta.Session.commit()
        except sa.exc.IntegrityError:
            raise Duplicat()

orm.mapper(User, t_user)
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2633218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档