Truy vấn SQLAlchemy chỉ trả về n kết quả?


84

Tôi đã truy cập vào googling và đọc qua tài liệu SQLAlchemy nhưng không tìm thấy thứ tôi đang tìm kiếm.

Tôi đang tìm một hàm trong SQLAlchemy giới hạn số lượng kết quả được trả về bởi một truy vấn ở một số nhất định, ví dụ: 5? Một cái gì đó giống như first()hoặc all().

Câu trả lời:


157

for sqlalchemy >= 1.0.13 Sử dụng phương pháp giới hạn .

query.(Model).filter(something).limit(5).all()

10

Cú pháp thay thế

query.(Model).filter(something)[:5].all()

2
SQLAlchemy == 1.1.15, tăng:AttributeError: 'list' object has no attribute 'all'
Waket Zheng

1
Sử dụng truy vấn này: query. (Model) .filter (something) .limit (5) Nó hoạt động tốt trong SQLAlchemy == 1.1.15
Rana

1
Nếu bạn làm vậy [: 5] Tôi nghĩ cơ sở dữ liệu sẽ vẫn lấy tất cả các kết quả và khi đó bạn chỉ sử dụng 5 kết quả cuối cùng. Chắc chắn tốt hơn nên sử dụng giới hạn để ngăn cơ sở dữ liệu trả về dữ liệu bổ sung.
Brian Sizemore

0

Trong trường hợp của tôi, nó hoạt động giống như

def get_members():
    m = Member.query[:30]
    return m
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.