Как я могу выбрать все строки с помощью sqlalchemy?Python

Программы на Python
Anonymous
Как я могу выбрать все строки с помощью sqlalchemy?

Сообщение Anonymous »

Я пытаюсь получить все строки из таблицы.

В контроллере у меня есть:

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»