Раньше моя модель состояла из трех записей id (первичный ключ), router_id, as_num и neighbour_id, тогда я пытаюсь изменить поле id в базе данных, изменив имя поля с id на auto_id.
Вот моя модель
class dataFromFile(models.Model):
auto_id = models.AutoField(primary_key=True, default=0)
router_ip = models.CharField(max_length=20)
as_num = models.IntegerField(default=0)
neighbor_ip = models.CharField(max_length=20)
затем, используя команду python manage.py makemigrations peersite, я получил сообщение "Никаких изменений не обнаружено в приложении" одноранговый сайт ""
тогда использование python manage.py sqlmigrate peersite 0001 кажется нормальным без ошибок. Но с python manage.py migrate peersite дал
_mysql.connection.query(self, query)
django.db.utils.OperationalError: (1091, "Can't DROP 'id'; check that column/key exists")
Я проверил таблицу dataFromFile в базе данных, также нет поля id.
Здесь есть какое-нибудь решение? заранее спасибо
Вы ранее жестко кодировали поле я бы в своей модели или это было просто автоматически созданное поле я бы?






Если вы находитесь в разработке и не имеете каких-либо ценных данных в базе данных, вы можете УДАЛИТЬ БАЗУ ДАННЫХ db_name; СОЗДАТЬ БАЗУ ДАННЫХ db_name; Удалите свои миграции в своих приложениях и запустите make миграции и выполните миграцию заново. Я знаю, что это своего рода боль, но когда я сталкиваюсь с подобными проблемами, иногда это экономит время в долгосрочной перспективе.
На этот вопрос stackoverflow.com/questions/2055784/… есть ваш ответ.