Django

QuerySets nâng cao

Lookups, Q objects, F expressions, aggregation, annotations, select_related, prefetch_related

25 câu hỏi phỏng vấn·
Mid-Level
1

Lookup nào cho phép lọc các đối tượng có một trường chứa một chuỗi cụ thể, không phân biệt chữ hoa chữ thường?

Câu trả lời

Lookup icontains thực hiện tìm kiếm không phân biệt chữ hoa chữ thường để kiểm tra xem một trường có chứa chuỗi con hay không. Tiền tố 'i' trong icontains cho biết phép so sánh bỏ qua chữ hoa chữ thường, điều này hữu ích cho việc tìm kiếm của người dùng khi cách viết hoa có thể khác nhau.

2

Sự khác biệt chính giữa select_related và prefetch_related là gì?

Câu trả lời

select_related sử dụng một SQL JOIN để truy xuất các đối tượng liên quan trong một truy vấn duy nhất, nhưng chỉ hoạt động với các mối quan hệ ForeignKey và OneToOne. prefetch_related thực hiện các truy vấn riêng biệt rồi liên kết các đối tượng trong Python, khiến nó phù hợp với các mối quan hệ ManyToMany và reverse ForeignKey.

3

Đối tượng Django nào cho phép kết hợp các điều kiện lọc với toán tử OR?

Câu trả lời

Q objects cho phép xây dựng các truy vấn phức tạp bằng cách kết hợp các điều kiện với các toán tử | (OR), & (AND) và ~ (NOT). Nếu không có Q objects, các lệnh gọi filter() nối chuỗi chỉ áp dụng điều kiện AND, khiến không thể tạo truy vấn OR trực tiếp.

4

Lợi ích chính của việc sử dụng F() expressions thay vì các giá trị Python trong một bản cập nhật là gì?

5

Phương thức aggregation nào trả về một dictionary với các giá trị đã tính toán thay vì một QuerySet?

+22 câu hỏi phỏng vấn

Nắm vững Django cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí