Sobes.tech
Junior — Middle

Ao criar ou processar URLs no Django, teve que escrever consultas SQL manualmente para trabalhar com o banco de dados?

sobes.tech IA

Resposta da IA

No Django, normalmente usa-se o ORM para trabalhar com bases de dados, o que permite criar e manipular URLs e dados sem escrever consultas SQL manualmente. No entanto, em alguns casos, quando é necessária otimização ou execução de consultas complexas, pode-se escrever consultas SQL próprias.

Para isso, o Django oferece métodos, por exemplo, raw() para executar consultas SQL brutas:

from myapp.models import MyModel

queryset = MyModel.objects.raw('SELECT * FROM myapp_mymodel WHERE some_field = %s', [value])

Também é possível usar connection.cursor() para executar comandos SQL arbitrários:

from django.db import connection

with connection.cursor() as cursor:
    cursor.execute('SELECT * FROM myapp_mymodel WHERE some_field = %s', [value])
    rows = cursor.fetchall()

Assim, às vezes é necessário escrever SQL manualmente, mas na maioria das vezes, as capacidades do ORM são suficientes.