Pronto, encontrei a solução. No Django todos os parâmetros vinculados são definidos como strings (%s) então muitas conversões implícitas são feitas quando o parâmetro é, por exemplo, um número. A solução é convertê-los explicitamente como número usando a função
TO_NUMBER(%s)
no WHERE
cláusula.