Oui, Postgresql est une base de données sensible à la casse, mais Django est assez intelligent pour le savoir. Il convertit tous les champs et convertit généralement le nom du modèle en un nom de table en minuscules. Cependant, le vrai problème ici est que le nom de votre modèle sera préfixé par le nom de l'application. généralement, les noms de table django ressemblent à :
<appname>_<modelname>
Vous pouvez savoir de quoi il s'agit exactement en :
from myapp.models import UserProfile
print (UserProfile._meta.db_table)
Évidemment, cela doit être saisi dans le shell django, qui est invoqué par ./manage.py shell
le résultat de cette déclaration d'impression est ce que vous devez utiliser dans votre requête.