我正在尝试获取表中的所有行。
在控制器中,我有:
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中打印一个包含两个项目[<User instance at ...>, <User instance at ...>]
的列表,但没有正确进行转义。 - Denis Otkidachfrom flask import Markup
然后返回return Markup("%r") % User.query.all()
。 - Dr. Jan-Philip Gehrcke