我正在尝试将一个充满问题的数据库(带有图像)集成到Django的sqlite3数据库中。运行'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,
},
),
]
管理页面是这样的
但是之后它说,这个
Error message I get
我在下面粘贴错误信息:
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
非常感谢你的帮助。谢谢你!
您是否应用了迁移(因此您的代码实际上影响了您使用的DB)?
$ python manage.py migrate
看一下django迁移教程