2014-11-11 2 views
0

여기 내 settings.py입니다장고 잘못 DB 테이블에서 읽으려고

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 

그리고 나는 여기에서 데이터를 가져 t하려고 할 때 표시되는 오류입니다 DB :

Table `mydbname.dashboard_center` does not exist. 

대시 보드는 내 장고 앱의 이름입니다. 왜 그것을 테이블 이름에 추가합니까? 내가 ohter PHP 파일을 사용하고 - * DB 구성이 올바른지 : 내 DB에

내 원래 테이블 이름은 center

주입니다. * DB는 레거시입니다. - 데이터 만 읽을 수 있습니다.

왜 앱 이름을 추가하나요? 테이블 이름을 어딘가에 두거나 모델과 테이블 이름이 일대일로 일치해야합니까?

첫 번째 장고 앱이며 튜토리얼을 진행하고 있지만 내 자신의 소재로 조정하려고합니다.

내가 누락 된 항목이 있습니까?

답변

1

발견.

나는이 실행 :

$ python manage.py inspectdb 

을 내 모델이 될 필요가 무엇을 발견했다. 차이는 다음과 같았습니다.

class Meta: 
     managed = False 
     db_table = 'Center' 

누락 된 것으로 보입니다.

Link 레거시 DB 사용에 대한 공식 설명서.