2013-07-15 3 views
2

장고 프로젝트 'cc'에 새로운 앱 'api'를 만들었습니다.데이터베이스 테이블에 해당 테이블이 없습니다. django

나는 리모각 데이터베이스 'launchg'을 가지고있다.이 데이터베이스는 레거시를 사용하여 장고와 통합했으며 python manage.py inspectdb > models.py을 사용하여 models.py 파일을 생성했다.

다음으로 생성 된 models.py 파일을 api 앱의 models.py 파일로 대체했습니다. 나는이 데이터베이스 예를 들어 database error:no such table 에 쿼리를 해고하려고 할 때마다

는 : - WebQuery.objects.all(), 그것은

# This is an auto-generated Django model module. 
    # You'll have to do the following manually to clean this up: 
    #  * Rearrange models' order 
    #  * Make sure each model has one field with primary_key=True 
    # Feel free to rename the models, but don't rename db_table values or field names. 
    # 
    # Also note: You'll have to insert the output of 'django-admin.py sqlcustom [appname]' 
    # into your database. 
    from __future__ import unicode_literals 

    from django.db import models 

    class Area(models.Model): 
     area_id = models.BigIntegerField(primary_key=True) 
     area_name = models.CharField(max_length=50L) 
     class Meta: 
      db_table = 'area' 

    class Business2(models.Model): 
     business_id = models.BigIntegerField(primary_key=True) 
     b_name = models.CharField(max_length=50L) 
     b_phone = models.CharField(max_length=50L) 
     b_add = models.CharField(max_length=1000L) 
     area_id = models.CharField(max_length=50L) 
     categories = models.CharField(max_length=1000L) 
     rating = models.IntegerField() 
     latitude = models.CharField(max_length=255L) 
     longitude = models.CharField(max_length=255L) 
     class Meta: 
      db_table = 'business2' 

    class BusinessReply(models.Model): 
     msg_id = models.BigIntegerField(primary_key=True) 
     conversation_id = models.BigIntegerField() 
     business_id = models.BigIntegerField() 
     query_id = models.BigIntegerField() 
     username = models.CharField(max_length=50L) 
     message = models.CharField(max_length=500L) 
     date_time = models.DateTimeField() 
     class Meta: 
      db_table = 'business_reply' 

    class Businessnew(models.Model): 
     business_id = models.BigIntegerField(primary_key=True) 
     b_name = models.CharField(max_length=50L) 
     b_phone = models.CharField(max_length=50L) 
     b_add = models.CharField(max_length=1000L) 
     area_id = models.CharField(max_length=50L) 
     categories = models.CharField(max_length=1000L) 
     rating = models.IntegerField() 
     latitude = models.CharField(max_length=255L) 
     longitude = models.CharField(max_length=255L) 
     home_delivery = models.IntegerField(db_column='Home Delivery') # Field name made  lowercase. Field renamed to remove unsuitable characters. 
     credit_card_facility = models.IntegerField(db_column='Credit Card facility') # Field name made lowercase. Field renamed to remove unsuitable characters. 
     menu_available = models.IntegerField(db_column='Menu Available') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    bar_available = models.IntegerField(db_column='Bar Available') # Field name made lowercase. Field renamed to remove unsuitable characters. 
     dine_in = models.IntegerField(db_column='Dine In') # Field name made lowercase. Field renamed to remove unsuitable characters. 
     pure_vegetarian = models.IntegerField(db_column='Pure Vegetarian') # Field name made lowercase. Field renamed to remove unsuitable characters. 
     cost = models.CharField(max_length=255L, db_column='Cost') # Field name made lowercase. 
     timings = models.CharField(max_length=255L, db_column='Timings') # Field name made lowercase. 
     check = models.IntegerField() 
     url = models.CharField(max_length=500L) 
     class Meta: 
      db_table = 'businessnew' 

    class BusinessnewBackup(models.Model): 
     business_id = models.BigIntegerField(primary_key=True) 
     b_name = models.CharField(max_length=50L) 
    b_phone = models.CharField(max_length=50L) 
    b_add = models.CharField(max_length=1000L) 
    area_id = models.CharField(max_length=50L) 
    categories = models.CharField(max_length=1000L) 
    rating = models.IntegerField() 
    latitude = models.CharField(max_length=255L) 
    longitude = models.CharField(max_length=255L) 
    home_delivery = models.IntegerField(db_column='Home Delivery') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    credit_card_facility = models.IntegerField(db_column='Credit Card facility') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    menu_available = models.IntegerField(db_column='Menu Available') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    bar_available = models.IntegerField(db_column='Bar Available') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    dine_in = models.IntegerField(db_column='Dine In') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    pure_vegetarian = models.IntegerField(db_column='Pure Vegetarian') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    cost = models.CharField(max_length=255L, db_column='Cost') # Field name made lowercase. 
    timings = models.CharField(max_length=255L, db_column='Timings') # Field name made lowercase. 
    check = models.IntegerField() 
    class Meta: 
     db_table = 'businessnew_backup' 

class BusinessnewBackup1(models.Model): 
    business_id = models.BigIntegerField(primary_key=True) 
    b_name = models.CharField(max_length=50L) 
    b_phone = models.CharField(max_length=50L) 
    b_add = models.CharField(max_length=1000L) 
    area_id = models.CharField(max_length=50L) 
    categories = models.CharField(max_length=1000L) 
    rating = models.IntegerField() 
    latitude = models.CharField(max_length=255L) 
    longitude = models.CharField(max_length=255L) 
    home_delivery = models.IntegerField(db_column='Home Delivery') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    credit_card_facility = models.IntegerField(db_column='Credit Card facility') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    menu_available = models.IntegerField(db_column='Menu Available') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    bar_available = models.IntegerField(db_column='Bar Available') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    dine_in = models.IntegerField(db_column='Dine In') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    pure_vegetarian = models.IntegerField(db_column='Pure Vegetarian') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    cost = models.CharField(max_length=255L, db_column='Cost') # Field name made lowercase. 
    timings = models.CharField(max_length=255L, db_column='Timings') # Field name made lowercase. 
    check = models.IntegerField() 
    class Meta: 
     db_table = 'businessnew_backup1' 

class BusinessnewBackup2(models.Model): 
    business_id = models.BigIntegerField(primary_key=True) 
    b_name = models.CharField(max_length=50L) 
    b_phone = models.CharField(max_length=50L) 
    b_add = models.CharField(max_length=1000L) 
    area_id = models.CharField(max_length=50L) 
    categories = models.CharField(max_length=1000L) 
    rating = models.IntegerField() 
    latitude = models.CharField(max_length=255L) 
    longitude = models.CharField(max_length=255L) 
    home_delivery = models.IntegerField(db_column='Home Delivery') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    credit_card_facility = models.IntegerField(db_column='Credit Card facility') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    menu_available = models.IntegerField(db_column='Menu Available') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    bar_available = models.IntegerField(db_column='Bar Available') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    dine_in = models.IntegerField(db_column='Dine In') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    pure_vegetarian = models.IntegerField(db_column='Pure Vegetarian') # Field name made lowercase. Field renamed to remove unsuitable characters. 
    cost = models.CharField(max_length=255L, db_column='Cost') # Field name made lowercase. 
    timings = models.CharField(max_length=255L, db_column='Timings') # Field name made lowercase. 
    check = models.IntegerField() 
    class Meta: 
     db_table = 'businessnew_backup2' 

class Businessowners(models.Model): 
    b_phone = models.CharField(max_length=50L) 
    b_id = models.IntegerField() 
    userid = models.IntegerField(primary_key=True, db_column='UserID') # Field name made lowercase. 
    firstname = models.CharField(max_length=100L) 
    lastname = models.CharField(max_length=100L) 
    email = models.CharField(max_length=150L) 
    password = models.CharField(max_length=32L, db_column='Password') # Field name made lowercase. 
    b_name = models.CharField(max_length=100L) 
    b_address = models.CharField(max_length=255L) 
    class Meta: 
     db_table = 'businessowners' 

class Categories(models.Model): 
    cat = models.CharField(max_length=255L) 
    syn = models.CharField(max_length=100L) 
    class Meta: 
     db_table = 'categories' 

class CiSessions(models.Model): 
    session_id = models.CharField(max_length=40L, primary_key=True) 
    ip_address = models.CharField(max_length=45L) 
    user_agent = models.CharField(max_length=120L) 
    last_activity = models.IntegerField() 
    user_data = models.TextField() 
    class Meta: 
     db_table = 'ci_sessions' 

class Query(models.Model): 
    query_id = models.BigIntegerField(primary_key=True) 
    conversation_id = models.BigIntegerField() 
    gcm_id = models.CharField(max_length=1000L) 
    user_id = models.BigIntegerField() 
    what = models.CharField(max_length=20L) 
    where = models.CharField(max_length=500L) 
    message = models.CharField(max_length=200L) 
    date_time = models.DateTimeField() 
    class Meta: 
     db_table = 'query' 

class QueryBusiness(models.Model): 
    business_id = models.CharField(max_length=10L) 
    query_id = models.BigIntegerField() 
    date_time = models.DateTimeField() 
    class Meta: 
     db_table = 'query_business' 

class TzMembers(models.Model): 
    id = models.IntegerField(primary_key=True) 
    usr = models.CharField(max_length=32L, unique=True) 
    pass_field = models.CharField(max_length=32L, db_column='pass') # Field renamed because it was a Python reserved word. 
    email = models.CharField(max_length=255L) 
    regip = models.CharField(max_length=15L, db_column='regIP') # Field name made lowercase. 
    dt = models.DateTimeField() 
    class Meta: 
     db_table = 'tz_members' 

class Users(models.Model): 
    user_id = models.BigIntegerField(primary_key=True) 
    username = models.CharField(max_length=20L) 
    fb_token = models.CharField(max_length=1000L) 
    email = models.CharField(max_length=50L) 
    facebook = models.CharField(max_length=50L) 
    fb_likes = models.TextField() 
    twitter = models.CharField(max_length=50L) 
    gmail = models.CharField(max_length=50L) 
    gcm_id = models.CharField(max_length=1000L) 
    date_time = models.DateTimeField() 
    last_login = models.DateTimeField() 
    last_push = models.DateTimeField() 
    class Meta: 
     db_table = 'users' 

class WebQuery(models.Model): 
    query_id = models.BigIntegerField(unique=True) 
    conversation_id = models.CharField(max_length=50L) 
    u_id = models.CharField(max_length=50L) 
    u_query = models.CharField(max_length=500L) 
    sent_to = models.CharField(max_length=500L) 
    date_time = models.DateTimeField() 
    is_reply = models.IntegerField() 
    is_responded = models.IntegerField() 
    from_gingr = models.IntegerField() 
    diff = models.IntegerField() 
    class Meta: 
     db_table = 'web_query' 

class WebReply(models.Model): 
    reply_id = models.IntegerField(primary_key=True) 
    query_id = models.BigIntegerField() 
    conversation_id = models.CharField(max_length=50L) 
    b_id = models.CharField(max_length=20L) 
    u_query = models.CharField(max_length=500L) 
    user_id = models.CharField(max_length=20L) 
    date_time = models.DateTimeField() 
    diff = models.IntegerField() 
    class Meta: 
     db_table = 'web_reply' 

class WebUsers(models.Model): 
    user_id = models.BigIntegerField(primary_key=True) 
    username = models.CharField(max_length=20L) 
    fb_token = models.CharField(max_length=1000L) 
    email = models.CharField(max_length=50L) 
    facebook = models.CharField(max_length=50L) 
    fb_likes = models.TextField() 
    twitter = models.CharField(max_length=50L) 
    gmail = models.CharField(max_length=50L) 
    gcm_id = models.CharField(max_length=1000L) 
    date_time = models.DateTimeField() 
    last_login = models.DateTimeField() 
    class Meta: 
     db_table = 'web_users' 

또한, 내 models.py 파일 여기 database error: no such table : web_query

을 알리는 오류입니다 발생했을 때 manage.py sql api 명령을 입력하면 모든 테이블이 표시됩니다. 그것은 무엇입니까 ???

친절히 도움 !!!

+0

안녕하세요,이 데이터베이스 오류가 해결되었습니다. 이제'Users.objects.all()'쿼리를 실행하면 데이터가 db에 존재하지만 빈 목록이 표시됩니다. 이것에 대한 의견. – PythonEnthusiast

답변

2

가장 큰 차이점은 manage.py sql myapphere을 실행하면 데이터베이스 스키마를 만드는 데 사용한 쿼리가 표시되고 myapp.objects.all()의 출력은 해당 데이터베이스의 항목 목록을 반환하기 만하면됩니다. 예를 들어

, 당신은 문서의 목록을 한 경우 manage.py SQL 명령은 MyApp를에게 특성을 보여줄 것 동안 myapp.objects.all() 데이터베이스에 MyApp를의 인스턴스를 표시합니다.

문제점을 더 보완하려면 DB 클라이언트를 열고 열 이름이 모델에 설명 된 것과 일치하는지 확인하십시오. 일치하지 않는 경우 테이블을 삭제하고 데이터베이스를 다시 동기화해야 할 수도 있습니다.