Как метод модели django save () модели может знать, где сохранять таблицы db? - PullRequest
2 голосов
/ 08 октября 2019

Функция Save () должна знать, куда сохранять данные, особенно точную таблицу. Предположим, что существует модель Вопроса, и я создаю новую запись и сохраняю ее с помощью q.save (), как показано ниже. Хотя я на самом деле не дал информацию о таблице, но она работает хорошо. Я хочу знать, как метод save () может узнать имя нужной таблицы.

def create_question(request, question):
    q = Question(question_text=question, pub_date=timezone.now())pub_date=timezone.now())
    q.save()

1 Ответ

1 голос
/ 08 октября 2019

Получает это из _meta модели Question. В самом деле, вы можете получить имя таблицы с помощью:

Question.<b>_meta.db_table</b>

Так что, если ваше приложение называется app, то, скорее всего, это имя:

>>> Question._meta.db_table
'app_question'

Обратите внимание, что вы можетеукажите имя таблицы самостоятельно, указав атрибут db_table [Django-doc] для Meta модели. Например:

class Question(models.Model):

    class Meta:
        <b>db_table = 'name_of_question_table'</b>
...