Dopo un po' di ricerche nella documentazione di Django :
Enfasi mia. Hai unique=True
per il campo? Questa è una restrizione di Django, a PostgreSQL non dispiacerebbe. Potresti voler passare al tipo di dati text
. TextField
nel gergo di Django.
Vecchie idee:
user
è una parola riservata in PostgreSQL
e qualsiasi standard SQL. Non usarlo come nome di colonna.
Potresti usalo, se lo hai racchiuso tra virgolette, ma stai lontano da quella follia. Basta non usare parole riservate per gli identificatori. Mai.
Inoltre...
user = motor_trend,
name = 'Camaro 2010',
category = cars,
Qualsiasi motivo particolare per cui motor_trend
e cars
non sono quotati come gli altri valori? Chiavi esterne, come ha commentato @Ignacio?