0

我试图在我的计算机上运行这个示例,但是当我重新启动 python 时,令人惊讶的是,创建的民意调查被保存到数据库中,而没有可见的保存语句。

这是代码:

>>> from polls.models import Poll, Choice
>>> Poll.objects.all()[0].choice_set.create(choice='Not much', votes=0)
<Choice: Not much>

所以我想知道哪些语句暗示了保存指令?因为如果我这样创建它,它将无法在重新启动后继续存在。

>>> c = Choice(choice='Not much3', votes=0)
>>> c.poll_id = 1

我正在创建一个选择,并将外键 poll_id 分配给第一个投票。我知道这不应该持续,因为我没有保存。这是第一个欺骗我的,我假设如果我在关联集中创建它,它还会自动保存,不仅给出正确的外国 ID。

我也是 python 新手,根据我之前在这个问题上的经验,语义似乎有点松散。我希望第一个代码只分配正确的外国 ID,而不是将其保存到数据库中。

4

1 回答 1

1

在 QuerySet 上使用 create() 方法将自动保存对象,如文档中所述。

您可以将其视为有效的 SQL INSERT 语句。

于 2012-12-27T00:04:22.760 回答