首页 > 解决方案 > 表单 Django Python

问题描述

有人可以帮助我吗?

我不知道我做错了什么。我尝试更改数据库中的 ma 值,但它不起作用。仍然与设置默认值相同。在我的代码下方...提前谢谢您。

koszyk.html

     {% for produkt in produkty%}
            <div id="bin">

                <div class ='name'>{{ produkt.nazwa }}</div> <div class="product_price">
                {{ produkt.cena }} {{ produkt.ilosc }}

                <form method="POST">

                    {% csrf_token %}

                    {{ form }}
                    <button type="submit" href ="{% url 'numbers' produkt.id %}">zaktualizuj</button>
                </form>
                </div>
                <div class="delete"> <a href="{% url 'usun' produkt.id %}">Usuń</a></div>


        {% endfor %}

模型.py

class Basket(models.Model):

    nazwa = models.CharField(max_length=64, blank=False, unique=True, default="")
    cena = models.PositiveSmallIntegerField(default=2000)
    opis = models.TextField(default="")
    ilosc = models.PositiveSmallIntegerField(default=3)

表格.py

from django.forms import ModelForm
from .models import Shop, Basket

class IloscForm(ModelForm):
    class Meta:
        model = Basket
        fields = ['ilosc',]

视图.py

def numbers(request, id):
    form = IloscForm(request.POST or None)
    produkt = Basket.objects.get(pk=id)
    if form.is_valid():
        ilosc = form.save(commit=False)
        produkt.ilosc = ilosc
        ilosc.save()
    return redirect('koszyk')
def koszyk(request):
    produkty = Basket.objects.all()
    form = IloscForm()
    return render(request, 'koszyk.html', {'produkty': produkty, 'form':form})

我将非常感谢您的帮助!

娜塔莉亚

标签: djangodatabaseforms

解决方案


您没有将更改保存到produkt. 相反,您正在节省ilosc.

改变

ilosc.save()

produkt.save()

推荐阅读