Depois de muita depuração, finalmente encontrei a solução. O motivo é que eu estava tentando inserir duas outras
categories
com id especificado s, o que faria com que o postgresql parasse de aumentar o last_value
da sequence
relativa . Apenas como 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"
)
A maneira de corrigir isso é simples, altere o
last_value
manualmente em django
, ou simplesmente não especifique o id, ou seja, remova as seguintes linhas:....
pk=settings.ST_TOPIC_PRIVATE_CATEGORY_PK,
....
pk=settings.ST_UNCATEGORIZED_CATEGORY_PK,
....
Eu acho que se você deixar o django assumir a tarefa de gerenciar
id
, pode não ser uma boa ideia especificar o id
você mesmo ao inserir novos dados.