Dopo un sacco di debug, ho finalmente trovato la soluzione. Il motivo è che stavo cercando di inserire altre due categories
con id specificato s, che farebbe smettere di postgresql di aumentare il last_value
della relativa sequence
. Proprio come segue:
0002_auto_20150728_0442.py
if not Category.objects.filter(pk=settings.ST_TOPIC_PRIVATE_CATEGORY_PK).exists():
Category.objects.create(
pk=settings.ST_TOPIC_PRIVATE_CATEGORY_PK,
title="Private",
slug="private",
is_private=True
)
if not Category.objects.filter(pk=settings.ST_UNCATEGORIZED_CATEGORY_PK).exists():
Category.objects.create(
pk=settings.ST_UNCATEGORIZED_CATEGORY_PK,
title="Uncategorized",
slug="uncategorized"
)
Il modo per risolvere questo problema è semplice, cambia il last_value
manualmente in django
o semplicemente non specificare l'id, ovvero rimuovere le seguenti righe:
....
pk=settings.ST_TOPIC_PRIVATE_CATEGORY_PK,
....
pk=settings.ST_UNCATEGORIZED_CATEGORY_PK,
....
Immagino che se lasci che django si occupi del compito di gestire id
, potrebbe non essere una buona idea specificare l'id
te stesso quando inserisci nuovi dati.