Después de mucha depuración, finalmente encontré la solución. La razón es que estaba tratando de insertar otras dos categories
con id especificado s, lo que haría que postgresql dejara de aumentar el last_value
de la sequence
relativa . Solo como sigue:
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"
)
La forma de arreglar esto es simple, ya sea cambiando el last_value
manualmente en django
, o simplemente no especifique la identificación, es decir, elimine las siguientes líneas:
....
pk=settings.ST_TOPIC_PRIVATE_CATEGORY_PK,
....
pk=settings.ST_UNCATEGORIZED_CATEGORY_PK,
....
Supongo que si dejas que Django se encargue de la tarea de administrar id
, puede que no sea una buena idea especificar el id
usted mismo al insertar nuevos datos.