django的模型的save()方法如何知道数据库表之间的保存位置?

时间:2019-10-08 09:30:11

标签: django django-models

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 个答案:

答案 0 :(得分:1)

它是从preg_replace('/[0-9\u0621-\u064A]+/u', '', $variable) 模型的_meta中获得的。实际上,您可以通过以下方式获取表的名称:

Question

因此,如果您的应用程序名为Question._meta.db_table,则名称可能是:

app

请注意,您可以通过在模型的>>> Question._meta.db_table 'app_question' 上指定db_table attribute [Django-doc]来自己指定表的名称。例如:

Meta