Setelah banyak debugging, saya akhirnya menemukan solusinya. Alasannya adalah saya mencoba memasukkan dua categories lainnya dengan id yang ditentukan s, yang akan menyebabkan postgresql berhenti meningkatkan last_value dari sequence relatif . Seperti berikut:
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"
)
Cara mengatasinya sederhana, ubah last_value secara manual di django , atau jangan tentukan id, yaitu hapus baris berikut:
....
pk=settings.ST_TOPIC_PRIVATE_CATEGORY_PK,
....
pk=settings.ST_UNCATEGORIZED_CATEGORY_PK,
....
Saya kira jika Anda membiarkan Django melakukan tugas mengelola id , mungkin bukan ide yang baik untuk menentukan id sendiri saat memasukkan data baru.