wszystko dziala. Create() w django nie ma nic wspólnego z bezpośrednim incementacją sekwencji. krótko:
- postgresql auto incrementing (typ „serial”) to po prostu skrót „utwórz sekwencję + utwórz pole całkowite z domyślną wartością sekwencji”
- Klucz podstawowy autopola django (identyfikator, jeśli nie został określony przez Ciebie) po prostu tworzy pole szeregowe
- Kiedy określisz identyfikator ręcznie, postgres wstawi wartość do bazy danych. po określeniu wartości pomijany jest parametr „default”, który jest prawidłowym zachowaniem.
więc jeśli chcesz, aby Twoje wstawki zwiększały sekwencję w wybrany przez Ciebie sposób, musisz ręcznie zmienić wartość sekwencji za pomocą SELECT setval('sequence_name', int_value); w przeciwnym razie pozostaw wartość null, a będzie inkrementowana automatycznie - wybierz bieżącą wartość i zwiększ ją o +1 (jeśli nie określono inaczej w definicji sekwencji).
innym pomysłem jest utworzenie obiektu, a następnie zaktualizowanie identyfikatora (oczywiście nie można go już użyć), a na końcu ustawisz wartość sekwencji na maksymalny identyfikator.