2011-02-16 10 views
33

मैं एक प्रश्न मिल गया है में एक ऑपरेटर की तरह नहीं पारित करने के लिए:कैसे एक SQLAlchemy ORM क्वेरी

MyModel.query.filter(Mymodel.name.contains('a_string')) 

मैं एक ही क्वेरी लेकिन निषेध के साथ (एक ऑपरेटर की तरह नहीं) करने की जरूरत है, लेकिन नहीं था SQLAlchemy documentation में मेरी ज़रूरत से मेल खाने वाले किसी भी ऑपरेटर को नहीं ढूंढें।

क्या एसक्लाक्लेमी के एसक्यूएल भाग का उपयोग किए बिना ऐसा करने का कोई तरीका है ???

उत्तर

54

बस फिल्टर नकारना:

MyModel.query.filter(sqlalchemy.not_(Mymodel.name.contains('a_string'))) 
+3

आउच मैं थोड़ा गूंगा महसूस ... आपकी मदद के लिए धन्यवाद !!! :) –

+2

@ जेरोम, कोई समस्या नहीं :) –

+28

या 'MyModel.query.filter (~ Mymodel.name.contains (' a_string ')) ' – Vroo