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.