remove query queries python sqlalchemy pylons

python - queries - sqlalchemy query



sqlalchemy, seleccione todas las filas (2)

Estoy tratando de obtener todas las filas de una tabla.

En el controlador tengo:

meta.Session.query(User).all()

El resultado es [, ] , pero tengo 2 filas en esta tabla.

Yo uso este modelo para la mesa:

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

Y a continuación, en el mismo archivo:

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)

. . . . . . . .


Puedes importar fácilmente tu modelo y ejecutar esto:

from models import User # User is the name of table that has a column name users = User.query.all() for user in users: print user.name


Uso el siguiente fragmento de código para ver todas las filas de una tabla. Utilice una consulta para encontrar todas las filas. Los objetos devueltos son las instancias de clase. Se pueden utilizar para ver / editar los valores según sea necesario:

from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import create_engine, Sequence from sqlalchemy import String, Integer, Float, Boolean, Column from sqlalchemy.orm import sessionmaker Base = declarative_base() class MyTable(Base): __tablename__ = ''MyTable'' id = Column(Integer, Sequence(''user_id_seq''), primary_key=True) some_col = Column(String(500)) def __init__(self, some_col): self.some_col = some_col engine = create_engine(''sqlite:///sqllight.db'', echo=True) Session = sessionmaker(bind=engine) session = Session() for class_instance in session.query(MyTable).all(): print(vars(class_instance)) session.close()