Django žádným způsobem neuchovává ani přímo nečte sekvenční hodnoty. Vysvětlil jsem to např. v této otázce:2088210/django-object-creation-and -postgres-sekvence .
Postgresql zvyšuje sekvenci, když se pokoušíte přidat řádek, i když výsledek operace není úspěšný (vyvolá chybu duplicitního klíče), inkrementace sekvence se nevrátí. Takže to je důvod, proč to funguje podruhé, když se pokusíte přidat řádek.
Nevím, proč vaše sekvence nejsou správně nastaveny, můžete zkontrolovat, jaká je hodnota sekvence před výpisem a po obnovení, a udělat totéž s max() pk tabulky? Možná je to chyba 8.1 s obnovením? Nevím. Čím jsem si jistý:není to Djangoova chyba.