2014-04-09 3 views
1

테이블 이름에서 앱 레이블을 제거하고 싶습니다. 따라서 매우 간단한 웹 애플리케이션이 있습니다. db_table 옵션이 장고 모델에서 작동하지 않습니다.

>>> Gender.objects.all() 
ProgrammingError: (1146, "Table 'project.gender' doesn't exist") 

왜 메타 옵션이 작동하지 않습니다 :

class Gender(models.Model): 
    name = models.CharField(max_length=20) 

    class Meta: 
     db_table = 'gender' 

결과는 예상 매우대로되지 않습니다 :

나는 다음과 같은 모델을 사용하고 있습니다? 내가

답변

2

db_table 옵션 장고 1.6.2을 사용하고

데이터베이스 테이블 이름을 지정하는 사용자에게 유연성을 제공합니다.

테이블 gender이 데이터베이스에 존재하지 않는 것처럼 보입니다. 즉,이 옵션을 지정하면 syncdb을 수행하지 않은 것입니다. syncdb 또는 남쪽을 사용하는 경우 schemamigration을 입력하십시오.

+0

'syncdb'는 더 이상 사용할 수 없으므로'python manage.py migrate'을 사용하지만 데이터베이스에 필요한 모든 테이블을 생성합니다. 문제는 나에게 똑같이 남아있다. 새로운 장고 앱에서 기존 데이터베이스를 사용할 수있는 방법이 있습니까? – tisuchi

+0

문제를 잘 이해했는지 모르겠지만 기존 테이블을 사용하고 싶다면'python manage.py inspectdb' 명령을 사용하십시오. 그러면 데이터베이스에있는 테이블의 모델이 생성되어 표시됩니다. – anuragal

+0

이미 문제가 해결되었습니다. 귀하의 응답에 대한 TQVM. – tisuchi

관련 문제