Встречается на собеседованиях • сегодня
Использовал ли execute в Django для сырых SQL запросов
Да, в Django можно использовать connection.cursor().execute() для выполнения сырых SQL-запросов. Это полезно для сложных запросов, которые сложно выразить через 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Важно:
- Всегда используйте параметризованные запросы (
%s) для защиты от SQL-инъекций. - Для SELECT можно использовать
fetchone(),fetchmany(size),fetchall(). - Для INSERT/UPDATE/DELETE изменения применяются сразу (если не в транзакции).
Альтернатива — raw() для моделей:
python
User.objects.raw("SELECT * FROM auth_user WHERE is_active = %s", [True])
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы