django.db.utils.OperationalError:没有这样的列:PItable.id

时间:2016-09-29 02:51:58

标签: python django

我正在尝试使用django从现有数据库中读取'p.n.db',它已经有100行数据。我将'p.n.db'作为manage.py放在目录中。 settings.py看起来像

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
},
'chinookdb': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': os.path.join(BASE_DIR, 'p.n.db'),
    'USER': '',
    'PASSWORD': '',
    'HOST': '',
    'PORT': '',
}}

我跑

python manage.py inspectdb --database=chinookdb > chinook/models.py

它创建了models.py

class Pitable(models.Model):
pid = models.TextField(db_column='PID', blank=True, null=True)  # Field name made lowercase.
lname = models.TextField(blank=True, null=True)
fname = models.TextField(blank=True, null=True)
affs = models.TextField(blank=True, null=True)
pmidlist = models.TextField(db_column='PMIDlist', blank=True, null=True)  # Field name made lowercase.
clustering = models.TextField(blank=True, null=True)

class Meta:
    managed = False
    db_table = 'PItable'

然后我跑

python manage.py makemigrations chinook
python manage.py migrate

然后我运行server来访问p.n.db中的表,它给出了错误

django.db.utils.OperationalError: no such column: PItable.id

感谢您的帮助!我的目标是使用django从现有数据库中读取。

0 个答案:

没有答案