2011-02-16 22 views
33

Tôi đã có một truy vấn:làm thế nào để vượt qua một nhà điều hành không giống như trong một truy vấn SQLAlchemy ORM

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

tôi cần phải làm cùng một truy vấn nhưng với sự phủ định (một không thích điều hành) nhưng didn không tìm thấy bất kỳ nhà điều hành nào phù hợp với nhu cầu của tôi trong số SQLAlchemy documentation.

Có cách nào để làm điều đó mà không sử dụng phần sql của SQLAlchemy ???

Trả lời

54

Chỉ cần phủ nhận bộ lọc:

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

ouch tôi cảm thấy một chút câm ... nhờ sự giúp đỡ của bạn !!! :) –

+2

@Jerome, không thành vấn đề :) –

+28

Hoặc 'MyModel.query.filter (~ Mymodel.name.contains ('a_string'))' – Vroo

Các vấn đề liên quan