След много отстраняване на грешки най-накрая намерих решението. Причината е, че се опитвах да вмъкна още две categories с посоченid s, което би накарало postgresql да спре да увеличава last_value на относителната sequence . Точно както следва:
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"
)
Начинът да поправите това е прост, или променете last_value ръчно в django , или просто не посочвайте идентификатора, т.е. премахнете следните редове:
....
pk=settings.ST_TOPIC_PRIVATE_CATEGORY_PK,
....
pk=settings.ST_UNCATEGORIZED_CATEGORY_PK,
....
Предполагам, че ако позволите на django да поеме задачата да управлява id , може да не е добра идея да посочите id себе си, когато въвеждате нови данни.