Django - How to increment integer field from user input?

前端 未结 2 552
长发绾君心
长发绾君心 2020-12-13 04:24

I\'m new to Django, but I\'m building a website where people can make statements regarding certain debatable topics. Right now I\'ve just manually added a few statements for

相关标签:
2条回答
  • 2020-12-13 04:55

    You can get the user input with

    statements = request.POST.getlist('statement')
    

    From that list, you can increase the vote count and update database like

    for st in statements:
        statement = Statement.objects.get(id=st)
        statement.vote += 1
        statement.save()
    

    Hope this helps you.

    0 讨论(0)
  • 2020-12-13 05:03

    kyiphyu's code can be further simplified using F expressions:

    from django.db.models import F
    
    Statement.objects.filter(id__in=statements).update(vote=F('vote') + 1)
    
    0 讨论(0)
提交回复
热议问题