Après quelques recherches dans la Documentation Django :
C'est moi qui souligne. Avez-vous unique=True
pour le champ ? Il s'agit d'une restriction Django, cela ne dérangerait pas PostgreSQL. Vous voudrez peut-être passer au type de données text
. TextField
en langage Django.
Vieilles idées :
user
est un mot réservé dans PostgreSQL
et toute norme SQL. Ne l'utilisez pas comme nom de colonne.
Vous pourriez utilisez-le, si vous l'avez mis entre guillemets, mais évitez cette folie. N'utilisez simplement pas de mots réservés pour les identifiants. Jamais.
Aussi...
user = motor_trend,
name = 'Camaro 2010',
category = cars,
Toute raison particulière pour laquelle motor_trend
et cars
ne sont pas cités comme les autres valeurs ? Clés étrangères, comme @Ignacio a commenté ?