Встречается на собеседованиях • сегодня

Можно ли в Django писать сырые SQL запросы

Да, в Django можно выполнять сырые SQL-запросы, используя connection.cursor() из django.db. Это полезно для сложных запросов, которые сложно выразить через ORM.

Пример:

python
from django.db import connection

def get_users():
with connection.cursor() as cursor:
cursor.execute("SELECT * FROM auth_user WHERE is_active = %s", [True])
rows = cursor.fetchall()
return rows

text

**Важно:**  
- Используйте параметризованные запросы (`%s` вместо подстановки строк) для защиты от SQL-инъекций.  
- Для моделей можно использовать `Model.objects.raw()`.  
- ORM обычно предпочтительнее, так как обеспечивает безопасность и переносимость.  

Для сложных JOIN или агрегаций сырой SQL может быть оправдан.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы