У меня есть код, как это:Добавление данных в базу данных в выпуске Джанго
form = TestForm(request.POST)
form.save(commit=False).save()
Этот код иногда работает, иногда не делают. Проблема заключается в идентификаторе автоматического увеличения. Когда у меня есть данные в db, которые не написаны django, и я хочу добавить данные из django, я получаю IntegrityError id already exists
.
У меня есть 2 строки в db (не добавлено django) Мне нужно нажать «добавить данные» 3 раза. После третьего раза, когда значение id увеличивается до 3, все в порядке.
Как это решить?
Является ли ваш стол созданным django или каким-либо другим проектом? Имеет ли поле идентификатора значение auto increment? –
Я делаю syncdb для создания пустых таблиц. После этого я перехожу к db-клиенту и вручную добавляю данные. Django смущает после этого – milandjukic88
Почему вы выполняете commit = False, а затем вызываете сохранение немедленно? Это точно так же, как вызов 'form.save()' без commit = False. –