17
我想从表中获取所有行。sqlalchemy,选择所有行
在控制器I具有:
meta.Session.query(User).all()
结果是[, ]
,但是我有在该表2点的行。
我使用的这款型号为表:
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
而接下来,在同一个文件:
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)
。 。 。 。 。 。 。 。
没有足够的信息来重现您的问题。什么是[[]]?这不是有效的python表达式,而是看起来像是在没有正确转义它的情况下,在HTML上打印两个项目'[<用户实例在...>,<用户实例在...>]''的列表。 – 2010-04-14 03:46:39
为了解决你可以'从瓶子导入标记'然后'返回标记(“%r”)%User.query.all()'。 – 2014-09-23 15:39:35