sqlalchemy n'EST PAS NULL sélectionner
Comment puis-je ajouter le filtre SQL pour sélectionner les valeurs qui ne sont PAS NULLES à partir d'un certain colonne ?
SELECT *
FROM table
WHERE YourColumn IS NOT NULL;
Comment puis-je faire de même avec SQLAlchemy filtres?
select = select(table).select_from(table).where(all_filters)
- Qu'est-ce que
all_filters
ici? Pourquoi leselect_from
? - Et avez-vous une définition de table ou avez-vous besoin d'utiliser la colonne de littéraux?
Vous devez vous connecter pour publier un commentaire.
column_obj != None
va produire unNULL
contrainte:ou de l'utilisation
isnot()
(nouveau dans la 0.7.9):Démo:
is
ne peut pas être surchargé par des classes personnalisées de la façon!=
peut être.À partir de la version 0.7.9 vous pouvez utiliser l'opérateur de filtre
.isnot
au lieu de comparer des contraintes, comme ceci:query.filter(User.name.isnot(None))
Cette méthode n'est nécessaire que si pep8 est un sujet de préoccupation.
source: sqlalchemy documentation
NULL
n'est pas valide tant que le membre de droite de!=
en SQL et l'utilisation deisnot
mieux vos intentions pour ce que vous voulez l'généré déclaration ressembler.!= NULL
cependant, même si vous utilisezcolumn != None
sur le Python côté; vous obtenezIS NOT NULL
. À l'aide de.isnot()
vous permet de forceIS NOT
sur d'autres types (pensez.isnot(True)
contre boolean colonnes, par exemple).Au cas où quelqu'un d'autre est de se demander, vous pouvez utiliser
is_
pour générerfoo IS NULL
:Pour moi, si je ne la suivante, puis-je obtenir le comportement attendu:
Si je fais le suivant, puis le filtre ne semble pas être appliquée: