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

Приходилось ли писать SQL-запросы вручную для работы с URL в Django

Да, приходилось. В Django можно писать raw SQL-запросы через connection.cursor() или Model.objects.raw(). Это полезно для сложных запросов или оптимизации.

Пример с URL (извлечение домена из поля url):

python
from django.db import connection

def get_domains():
with connection.cursor() as cursor:
cursor.execute("""
SELECT DISTINCT
SUBSTRING(url FROM 'https?://([^/]+)') AS domain
FROM myapp_mymodel
""")
return [row[0] for row in cursor.fetchall()]

text

Или через `raw()`:  
```python
domains = MyModel.objects.raw("""
    SELECT id, SUBSTRING(url FROM 'https?://([^/]+)') AS domain 
    FROM myapp_mymodel
""")

Но обычно для работы с URL в Django используют django.urls или сторонние библиотеки, например, urllib.parse. SQL-запросы нужны редко, только для специфичных задач.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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