2016-07-31 5 views
0

Я не понимаю, почему Django может получить доступ к моей таблице просто отлично, когда я использую встроенные функции запроса, т.е. Perk.objects.all(), но в тот момент, когда я пытаюсь использовать пользовательский sql, он говорит, что такой таблицы нет.Django - нет такой таблицы - custom sql

def sql(self): 
    queryset = Perk.objects.all() # works fine 
    cursor = connection.cursor() 
    cursor.execute("SELECT * FROM perk") # Fails. No such table: perk. 
    ... 

ответ

2

Стандартное соглашение об именах django для таблиц - «appname_classname». Вы можете прочитать об изменении значения по умолчанию здесь:

Django table naming convention. Can I change its behavior?

Или смотрите в документации:

https://docs.djangoproject.com/en/1.9/ref/models/options/

И вы можете заглянуть в вашу базу данных, чтобы увидеть, что таблица на самом деле называется.

 Смежные вопросы

  • Нет связанных вопросов^_^