django试图从错误的数据库表读取

时间:2014-11-11 15:23:10

标签: django django-models django-database

这是我的settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'mydbname',
        'USER': 'username',
        'PASSWORD': 'password',
        'HOST': '#IP Address that your DB is hosted on'
        'PORT': '3306',
    }
}

我的模特是:

class Center(models.Model):
    name        = models.CharField(max_length=255, unique=True)
    englishName = models.CharField(max_length=255, unique=True)
    website     = models.CharField(max_length=255, unique=True)

    def __unicode__(self):
        return self.name   

这是我在尝试从数据库中获取数据时看到的错误:

Table `mydbname.dashboard_center` does not exist. 

dashboard是我的django应用程序的名称。为什么将它附加到表名?

我的数据库中的原始表名是center

请注意: *数据库配置是正确的 - 我在ohter php文件中使用它。 * DB是遗留的 - 我只想从中读取数据。

为什么会附加应用名称?我应该把表名放在哪里,还是模型和表名之间应该有一对一的匹配?

这是我的第一个django应用程序,我正在阅读教程,但我正在尝试根据自己的内容进行调整。

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

找到了。

我跑了这个:

$ python manage.py inspectdb

并找出了我需要的模型。似乎区别在于:

class Meta:
       managed = False
       db_table = 'Center'

失踪了。

Link获取有关使用旧版数据库的官方文档。