Почему я получаю ошибку "django.db.utils.OperationalError: no such table:" в django?
я использую sqlite для моей базы данных и все мои таблицы созданы, кроме одной, когда я пытаюсь "python manage.py migrate. я получаю ошибку: django.db.utils.OperationalError: no such table: pages_cooptrainee.
my models.py:
class cooptrainee(models.Model): # التدريب التعاوني
Name = models.CharField(max_length=100,default='')
College = models.CharField(max_length=40,default='')
Major = models.CharField(max_length=30,default='')
Gpa = models.CharField(max_length=4,default='')
Email = models.CharField(max_length=60,default='')
phoneNumber = models.CharField(max_length=15,default='')
my views.py:
def CoopTraining(request):
Name = request.POST.get('Name')
College = request.POST.get('College')
Major = request.POST.get('Major')
GPA = request.POST.get('GPA')
Email = request.POST.get('Email')
phoneNumber = request.POST.get('Phone Number')
trainingPeriod = request.POST.get('Training Period')
if request.method == 'POST':
data = cooptrainee(Name=Name,College=College,Major=Major,GPA=GPA,Email=Email,phoneNumber=phoneNumber,trainingPeriod=trainingPeriod)
data.save()
return render(request,'pages/التدريب التعاوني.html')
my db.sqlite3.sql:
CREATE TABLE IF NOT EXISTS "pages_cooptrainee" (
"id" integer NOT NULL,
"Name" varchar(100) NOT NULL,
"College" varchar(40) NOT NULL,
"Major" varchar(30) NOT NULL,
"Gpa" varchar(4) NOT NULL,
"Email" varchar(60) NOT NULL,
"phoneNumber" varchar(15) NOT NULL,
PRIMARY KEY("id" AUTOINCREMENT)
);
Мы получаем операционную ошибку, когда пытаемся получить доступ к таблице базы данных, но она каким-то образом удалена или изменена, в результате чего она не может взаимодействовать с вашим приложением для решения этой ошибки
- самый простой вариант удалить базу данных, если данные не важны, а затем запустить команду migrate .
- удалите файлы миграции приложения, если вы можете получить доступ к базе данных, что можно сделать с помощью xamp или db browser, а затем запустите миграцию снова, при удалении не удаляйте файл ini.py в миграции. затем выполните команду python manage.py makemigrations имя_вашего_приложения, затем выполните миграцию командой python manage.py migrate имя_вашего_приложения, это решит вашу проблему .
Вы пробовали python manage.py makemigrations <your_app>
?
А затем вам нужно python manage.py migrate