django.db.utils.OperationalError: no such column: main_anzeigen.rasse - ничего не помогает
Никак не получается добавить дополнительные поля в models.py. Всё перепробовал: удалял файлы миграции, делал python manage.py makemigrations, python manage.py migrate, пробовал удалять базу данных и всё по кругу и в разном порядке — ничего не помогает.
Вот код models.py:
from django.db import models
import csv
RASSEN = (
('araber', 'Araber'),
('ha', 'Hispano-Araber'),
('cruzado', 'Cruzado'),
('lustiano', 'Lustiano'),
('pre', 'PRE'),
('muli', 'Muli'),
('esel', 'Esel'),
)
class Anzeigen(models.Model):
name = models.CharField('Name', max_length=255)
preis = models.CharField('Preis', max_length=255)
telefon = models.CharField('Telefon', max_length=255)
beschreibung = models.TextField('Beschreibung')
anzeigenummer = models.CharField('Anzeigenummer', max_length=255)
standort = models.CharField('Standort', max_length=500)
online = models.CharField('Online seit', max_length=255)
url = models.CharField('URL', max_length=1000)
bild = models.CharField('Bild', max_length=1000)
rasse = models.CharField('Rasse', max_length=255, choices=RASSEN, default='PRE')
def __str__(self):
return self.name
def get_absolute_url(self):
return f'/{self.id}'
class Meta:
verbose_name = 'Anzeige'
verbose_name_plural = 'Anzeigen'
with open('main/daten.csv', encoding='utf-8') as File:
reader = csv.reader(File, delimiter=';')
for row in reader:
_, created = Anzeigen.objects.get_or_create(
name = row[0],
preis = row[1],
telefon = row[2],
beschreibung = row[3],
anzeigenummer = row[4],
standort = row[5],
online = row[6],
url = row[7],
bild = row[8]
)
Пожалуйста, подскажите, что я делаю не так и как исправить ситуацию. Спасибо!
Ответы (1 шт):
А не надо было удалять миграции. если у вас нет репозитория со старыми миграциями - либо удалять базу (если локально, и данные не важны), либо пробовать поочередно запускать (если миграции остались)
python manage.py migrate <app> <migration_number> --fake
python manage.py makemigrations
python manage.py migrate
Если миграций нет и нужно на боевом проекте сделать, то делаете дамб бд,
И откатываете структуру данных под старое состояние БД, и запускаете ./manage.py makemigrations
Других вариантов предложить не могу
пробовал удалять базу данных и всё по кругу и в разном порядке — ничего не помогает.
Если без всех миграций, на чистой бд ничего не помогает - то значит что то делаете не так