Comment puis-je spécifier la colonne que je veux dans ma requête en utilisant un modèle (il sélectionne toutes les colonnes par défaut) ? Je sais comment le faire avec la session sqlalchmey : session.query(self.col1)
mais comment le faire avec des modèles ? Je ne peux pas faire SomeModel.query()
. Y a-t-il un moyen ?
Réponses
Trop de publicités?Como session.query(SomeModel.col1)
renvoie un tableau de tuples comme ceci [('value_1',),('value_2',)]
si vous voulez convertir le résultat en un réseau simple vous pouvez le faire en utilisant l'une des déclarations suivantes :
values = [value[0] for value in session.query(SomeModel.col1)]
values = [model.col1 for model in session.query(SomeModel).options(load_only('col1'))]
Résultat :
['value_1', 'value_2']
Un exemple ici :
movies = Movie.query.filter(Movie.rating != 0).order_by(desc(Movie.rating)).all()
Je recherche dans la base de données les films dont la note est inférieure à 0, puis je les ordonne par note, en commençant par la note la plus élevée.
Jetez un coup d'œil ici : Sélectionner, Insérer, Supprimer dans Flask-SQLAlchemy
- Réponses précédentes
- Plus de réponses