Làm thế nào để kiểm tra dữ liệu trong truy vấn có tồn tại?sqlalchemy tồn tại cho truy vấn
Ví dụ:
users_query = User.query.filter_by(email='[email protected]')
Làm thế nào tôi có thể kiểm tra xem người dùng với email mà tồn tại?
Bây giờ tôi kiểm tra điều này với
users_query.count()
nhưng muốn kiểm tra xem nó có tồn tại .
Cảm ơn!
Lưu ý rằng điều này sẽ cho kết quả sai đối với các loại đa hình. Khi lọc trên cả thuộc tính cha và con, truy vấn kết quả sẽ chọn từ sản phẩm Descartes (nối ngoài) của bảng. Để khắc phục nó, bạn nên đặt mệnh đề 'FROM' theo cách thủ công thông qua' select_from': 'e = tồn tại (select ([1]). Select_from (User) .where (and_ (User.email == '...' , ...))). select() ' – aikoven
@aikoven: kết quả gợi ý của bạn trong một' Mỗi bảng dẫn xuất phải có lỗi riêng biệt '. Thêm 'exist (…) .select(). Alias ('foo')' đã sửa nó (xem [alias()] (http://docs.sqlalchemy.org/en/latest/core/selectable.html#sqlalchemy. sql.expression.alias)). – Jens