Efter mycket felsökning hittade jag äntligen lösningen. Anledningen är att jag försökte infoga två andra categories
med angivet id s, vilket skulle få postgresql att sluta öka last_value
av den relativa sequence
. Precis som följer:
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"
)
Sättet att fixa detta är enkelt, antingen ändra last_value
manuellt i django
, eller helt enkelt inte ange id, d.v.s. ta bort följande rader:
....
pk=settings.ST_TOPIC_PRIVATE_CATEGORY_PK,
....
pk=settings.ST_UNCATEGORIZED_CATEGORY_PK,
....
Jag antar att om du låter django ta på sig uppgiften att hantera id
, det kanske inte är en bra idé att ange id
dig själv när du infogar ny data.