【问题标题】:django view database variable alterationdjango查看数据库变量更改
【发布时间】:2014-07-08 04:16:31
【问题描述】:
def vote(request, poll_id, choice_id):
try:
    poll = Poll.objects.get(pk = poll_id)
    choice = Choice.objects.get(poll=poll, pk=choice_id)
    choice.votes +=1
    url = '/polls/' + poll_id
    return HttpResponseRedirect(url)
except Poll.DoesNotExist or Choice.DoesNotExist:
    return Http404

在查看其余章节之前,我正在使用 Django 教程并尝试使其正常运行,并且我坚持使用示例投票功能的投票功能。

我的投票描述功能显示了一个页面,其中包含每个投票的当前投票和选择,并且我试图让这个投票视图只添加一个投票并将用户返回到您正在查看的投票的描述页面。

我尝试在 shell 右侧进行手动操作,该函数会将您重定向回投票描述页面,但实际投票数从未改变。我的代码有什么问题?谢谢

【问题讨论】:

    标签: python django python-3.x django-views


    【解决方案1】:

    您在增加投票后错过了保存对象。

    def vote(request, poll_id, choice_id):
    try:
        poll = Poll.objects.get(pk = poll_id)
        choice = Choice.objects.get(poll=poll, pk=choice_id)
        choice.votes +=1
        ## Saves in database otherwise updates are lost.
        choice.save()  
    
        url = '/polls/' + poll_id
        return HttpResponseRedirect(url)
    except Poll.DoesNotExist or Choice.DoesNotExist:
        return Http404
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-02
      • 1970-01-01
      • 2020-05-20
      • 2015-08-16
      • 2014-06-06
      • 1970-01-01
      • 2020-05-09
      • 1970-01-01
      相关资源
      最近更新 更多