# Django ORM nâng cao (Django) > Raw SQL, custom managers, query expressions, database functions, atomic transactions, select_for_update, race conditions, database routers - 28 câu hỏi phỏng vấn - Senior - [Câu hỏi phỏng vấn: Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van.md) ## 1. Sự khác biệt chính giữa Model.objects.raw() và connection.cursor() khi thực thi raw SQL trong Django là gì? **Câu trả lời** Model.objects.raw() trả về các instance model được ánh xạ tự động, giữ lại các lợi ích của ORM như truy cập thuộc tính và quan hệ. connection.cursor() trả về một cursor cơ sở dữ liệu thô với tuple, cung cấp sự linh hoạt hơn cho các truy vấn không gắn với một model cụ thể, nhưng yêu cầu xử lý kết quả thủ công. ## 2. Lợi thế chính của việc tạo một custom Manager trong Django thay vì thêm phương thức trực tiếp vào model là gì? **Câu trả lời** Một custom Manager đóng gói logic truy vấn ở cấp bảng, cho phép chuỗi phương thức với QuerySet và tái sử dụng logic này ở mọi nơi model được dùng. Các phương thức model hoạt động trên từng instance riêng lẻ. Manager cũng cho phép sửa đổi QuerySet mặc định bằng get_queryset(). ## 3. Làm thế nào để triển khai một custom QuerySet nhằm cho phép chuỗi các phương thức tùy chỉnh trong Django? **Câu trả lời** Để cho phép chuỗi, hãy tạo một lớp kế thừa từ QuerySet với các phương thức trả về self hoặc một QuerySet đã lọc. Sau đó dùng custom QuerySet thông qua Manager.from_queryset() hoặc định nghĩa một Manager tùy chỉnh với get_queryset() trả về custom QuerySet. Điều này cho phép gọi Model.objects.custom_method().filter(). ## Còn 25 câu hỏi nữa - Nên dùng biểu thức Django nào để tăng một bộ đếm trong cơ sở dữ liệu một cách nguyên tử mà không có nguy cơ race condition? - Chức năng của transaction.atomic() là gì và nó xử lý các exception trong Django như thế nào? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Django khác - [Kiến thức cơ bản về Python](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/python-basics.md): 25 câu hỏi, Junior - [Python hướng đối tượng](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/python-oop.md): 20 câu hỏi, Junior - [Kiến thức cơ bản về Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-fundamentals.md): 20 câu hỏi, Junior - [Models Django - Cơ bản](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-models-basics.md): 22 câu hỏi, Junior - [Django Views](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-views.md): 20 câu hỏi, Junior - [Template Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-templates.md): 18 câu hỏi, Junior - [Django Forms](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-forms.md): 22 câu hỏi, Mid-Level - [QuerySets nâng cao](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-querysets.md): 25 câu hỏi, Mid-Level - [Xác thực Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-authentication.md): 22 câu hỏi, Mid-Level - [Middleware Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-middleware.md): 18 câu hỏi, Mid-Level - [Django Admin](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-admin.md): 20 câu hỏi, Mid-Level - [Django REST Framework](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-rest-framework.md): 30 câu hỏi, Mid-Level - [Signal trong Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-signals.md): 18 câu hỏi, Mid-Level - [Tải tệp lên](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-file-upload.md): 20 câu hỏi, Mid-Level - [Caching trong Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-caching.md): 20 câu hỏi, Mid-Level - [Session Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-sessions.md): 18 câu hỏi, Mid-Level - [Email trong Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-email.md): 18 câu hỏi, Mid-Level - [Kiểm thử Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-testing.md): 22 câu hỏi, Mid-Level - [Bảo mật Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-security.md): 22 câu hỏi, Mid-Level - [Triển khai Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-deployment.md): 24 câu hỏi, Mid-Level - [Hiệu năng Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-performance.md): 24 câu hỏi, Senior - [Django & Celery](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-celery.md): 22 câu hỏi, Senior - [Django Channels](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-channels.md): 24 câu hỏi, Senior - [Django & GraphQL](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-graphql.md): 24 câu hỏi, Senior - [Django & Docker](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-docker.md): 20 câu hỏi, Senior - [Django trong hệ sinh thái Microservices](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-microservices.md): 24 câu hỏi, Senior - [Lệnh Django tùy chỉnh](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-custom-commands.md): 18 câu hỏi, Senior - [Quốc tế hóa trong Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-internationalization.md): 20 câu hỏi, Senior - [Design Patterns trong Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-design-patterns.md): 24 câu hỏi, Senior - [Django Async & ASGI](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-async-asgi.md): 26 câu hỏi, Senior - [Settings & Cấu hình Production](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-settings-configuration.md): 22 câu hỏi, Senior - [Observability & Monitoring](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-observability.md): 24 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-orm-advanced