什么';Django中的“save()”是什么意思?
我正在学习Django,拥有以下代码:什么';Django中的“save()”是什么意思?,django,Django,我正在学习Django,拥有以下代码: def vote(request, question_id): question = get_object_or_404(Question, pk=question_id) try: selected_choice = question.choice_set.get(pk=request.POST['choice']) except (KeyError, Choice.DoesNotExist): #
def vote(request, question_id):
question = get_object_or_404(Question, pk=question_id)
try:
selected_choice = question.choice_set.get(pk=request.POST['choice'])
except (KeyError, Choice.DoesNotExist):
#Redisplay the question voting form
return render(request, 'polls/detail.html', {
'question':question,
'error_message':"You did'nt select a choice.",
})
else:
selected_choice.votes += 1
selected_choice.save()
return HttpResponseRedirect(reverse('polls:results', args=(question.id,)))
我对所选的选项感到困惑。save()
,举个简单的例子:
counter = 0
for counter in range(9):
counter += 1
print(counter)
在此过程中没有save
操作
在Django中,save()用于什么?在Django中save()用于什么?
向数据库发送/同步/保存对象。
保存对象时,会触发以下步骤:
预保存信号(任何函数监听该信号执行的时间)
预处理数据(调用具有pre\u save
方法的每个字段)
i、 e:例如,日期/时间字段覆盖pre_save()以实现立即自动添加和立即自动添加
为数据库准备数据
将数据插入数据库
发出保存后信号(任何函数监听该信号执行的时间)
资料来源:我想升一级。其他人所说的一切都是真实的,但我认为你可能会迷失在Django提出的抽象概念中
get对象_或_404是以下psuedo代码的抽象:
try:
question = Question.objects.get(pk=question_id) #grabing this row from the questions table in the db
except:
return 404 url
然后,您的示例迭代所选的_选项并增加该值,然后将其保存到数据库中。简单计数器示例只有一个不会更新数据库的print语句
冒着越界的风险,我建议从django核心教程开始,然后尝试更复杂的内容。我相信有一个更多的基础(我知道是一项投资),基金会在获得抽象化方面会分红。 < p>关键字参数仅仅是您在模型上定义的字段的名称。请注意,实例化模型不会影响数据库;为此,需要保存()。
因此,基本上,保存方法是将数据(更新的数据)同步到数据库,如果不保存,则无法在数据库中看到更新的数据。save()将数据从内存同步到数据库