Отсутствует поле в базе данных, но существует в модели Django

Раньше моя модель состояла из трех записей 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.

Здесь есть какое-нибудь решение? заранее спасибо

На этот вопрос stackoverflow.com/questions/2055784/… есть ваш ответ.

Bidhan Majhi 19.11.2018 07:44

Вы ранее жестко кодировали поле я бы в своей модели или это было просто автоматически созданное поле я бы?

zypro 19.11.2018 08:09
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
1 643
1

Ответы 1

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

Другие вопросы по теме