В проекте Django с postgresql я однажды вставил en запись в БД и один день. Кто-то, кто имеет к нему доступ, вручную добавил 36 других строк в базу данных с помощью pgadmin4 . Когда я хочу добавить новую строку с проектом Django, я, очевидно, получил IntegrityError
, потому что Django пытается добавить 1 к последнему идентификатору записи, добавленному проектом Django (Это что я думаю это пытается сделать). Вот обратная трассировка:
duplicate key value violates unique constraint "register_catalog_pkey"
DETAIL: Key (id)=(2) already exists.
Как сказать Django, что идентификатор последней записи равен 36 (последнее значение, добавленное вручную с помощью pgadmin4)?
Я также пытался получить идентификатор поле в Django Admin, чтобы я мог его отредактировать, но он не появился.
class RegisterAdmin(admin.ModelAdmin)
list_display_links = ['id',]
list_display = ('id',)
Нужно ли удалить первичный ключ, обработанный с помощью Django, и определить IntegerField в качестве первичного ключа?
register_id = models.AutoField(primary_key=True)
до
register_id = models.IntegerField(primary_key=True)