J'utilise le SQLAlchemy ORM pour construire les requêtes MySQL dans ma demande, et je suis parfaitement en mesure d'ajouter des filtres de base à la requête, comme suit:Comment utiliser les équations mathématiques comme filtres dans SQLAlchemy
query = meta.Session.query(User).filter(User.user_id==1)
ce qui me donne quelque chose essentiellement équivalent à ceci:
SELECT * FROM users WHERE user_id = 1
ma question est de savoir comment j'intégrer certaines fonctions mathématiques de base MySQL dans ma requête. Donc, disons par exemple que je voulais amener les utilisateurs à une certaine latitude et longitude. Je dois donc générer ce SQL (mylatitude de $ et mylongitude $ sont la latitude statique et la longitude je compare contre):
SELECT * FROM users
WHERE SQRT(POW(69.1 * (latitude - $mylatitude),2) + POW(53.0 * (longitude - $mylongitude),2)) < 5
Est-il possible que je peux intégrer ces fonctions dans une requête en utilisant la SQLAlchemy ORM?
Il semble que 's.latitude' et' s.longitude' renvoient la latitude et la longitude de la méthode de classe au lieu de la latitude et de la longitude de l'instance. – ken