python - how - Selección de valores de columna distintos en SQLAlchemy/Elixir
sqlalchemy for dummies (3)
En un pequeño script que estoy escribiendo usando SQLAlchemy y Elixir, necesito obtener todos los valores distintos para una columna en particular. En SQL ordinario sería una simple cuestión de
SELECT DISTINCT `column` FROM `table`;
y sé que podría ejecutar esa consulta "manualmente", pero prefiero seguir la sintaxis declarativa de SQLAlchemy (y / o Elixir) si puedo. Estoy seguro de que debe ser posible, incluso he visto alusiones a este tipo de cosas en la documentación de SQLAlchemy, pero he estado buscando esa documentación durante horas (así como la de Elixir) y simplemente no puedo parece que realmente descifrar cómo se haría. Entonces, ¿qué me estoy perdiendo?
Para esta clase:
class Assurance(db.Model):
name = Column(String)
Puedes hacerlo:
assurances = []
for assurance in Assurance.query.distinct(Assurance.name):
assurances.append(assurance.name)
y tendrás la lista de valores distintos
Puede consultar propiedades de columnas de clases mapeadas y la clase Query tiene un método generativo distinct()
:
for value in Session.query(Table.column).distinct():
pass
for user in session.query(users_table).distinct():
print user.posting_id