#django #django-models
Вопрос:
Я пытаюсь интегрировать базу данных, полную вопросов (с изображениями), в базу данных sqlite3 в Django. После запуска ‘inspectdb’ я поместил модель в соответствующее место.
Моя модель выглядит так:
class Questions(models.Model):
main_ques = models.IntegerField(db_column='Main_ques', blank=True, null=True)
sub_ques = models.TextField(db_column='Sub_ques', blank=True, null=True)
page_num = models.IntegerField(db_column='Page_num', blank=True, null=True)
marks = models.IntegerField(blank=True, null=True)
topic = models.TextField(db_column='Topic', blank=True, null=True)
subques_images = models.ImageField(db_column='Subques_images', blank=True, null=True)
mainques_image = models.ImageField(blank=True, null=True)
class Meta:
managed = True
db_table = 'questions'
И мой 0001_initial.py выглядит примерно так:
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Questions',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('main_ques', models.IntegerField(blank=True, db_column='Main_ques', null=True)),
('sub_ques', models.TextField(blank=True, db_column='Sub_ques', null=True)),
('page_num', models.IntegerField(blank=True, db_column='Page_num', null=True)),
('marks', models.IntegerField(blank=True, null=True)),
('topic', models.TextField(blank=True, db_column='Topic', null=True)),
('subques_images', models.ImageField(blank=True, db_column='Subques_images', null=True, upload_to='')),
('mainques_image', models.ImageField(blank=True, null=True, upload_to='')),
],
options={
'db_table': 'questions',
'managed': True,
},
),
]
Страница администратора выглядит следующим образом..
Но после этого он говорит, что это
Я вставляю сообщение об ошибке ниже:
OperationalError at /admin/sql_inte/questions/
no such column: questions.id
Request Method: GET
Request URL: http://127.0.0.1:8000/admin/sql_inte/questions/
Django Version: 3.2.8
Exception Type: OperationalError
Exception Value:
no such column: questions.id
Exception Location: /Users/BivashChakraborty/PycharmProjects/database/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/base.py, line 423, in execute
Python Executable: /Users/BivashChakraborty/PycharmProjects/database/venv/bin/python
Python Version: 3.7.0
Python Path:
['/Users/BivashChakraborty/PycharmProjects/database',
'/Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip',
'/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7',
'/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload',
'/Users/BivashChakraborty/PycharmProjects/database/venv/lib/python3.7/site-packages']
И когда я пытаюсь запустить migrate, он говорит
django.db.utils.OperationalError: table "questions" already exists
Помощь будет высоко оценена. Спасибо!
Комментарии:
1. обновите свой
view.py
файл
Ответ №1:
Применили ли вы свою миграцию (чтобы ваш код действительно повлиял на базу данных, с которой вы работаете)?
$ python manage.py migrate
Взгляните на учебник по миграции django
Комментарии:
1. Проделано это тысячу раз!!! Вероятно, что-то не так, не могу понять. Однако я проверю отправленную вами ссылку.