将数据从Django表单保存到数据库

时间:2020-04-19 00:00:58

标签: django

所以我有这个Django模型:

class Cart(models.Model):
ref_code    = models.CharField(max_length=15, null=True)
owner       = models.ForeignKey(Profile, on_delete=models.CASCADE, null=True)
items       = models.ManyToManyField(PickedProduct)
start_date  = models.DateTimeField(auto_now_add=True)
is_ordered  = models.BooleanField(default=False)
tot_price   = models.DecimalField(max_digits=10, decimal_places=2, default=0)
tot_item    = models.IntegerField(default=0)
note        = models.TextField(max_length=500, null=True, blank=True)

我正在使用购物车模型来构建我的NoteOption表单,如下所示:

class NoteOption(forms.ModelForm):
class Meta:
    model = Cart
    fields = ['note']

在我看来,我有以下代码(虽然代码不完整,但我正在研究中):

@login_required
def UserCartView(request, **kwargs):
user_cart = current_cart(request)
note = NoteOption(instance=user_cart)

# I don't know what to do here
if request.method == 'POST':
    user_cart.note = note
    user_cart.save()

context = {
    'note': note,
    'user_cart': user_cart,
}

return render(request, 'cart/cart.html', context)

在模板中,我有以下字段:

<div class="col-lg-4 mt-5 ftco-animate">
            <form method="post" id="my_form">
                {{ note|crispy }}
            </form>
        </div>

在模板的末尾,我使用标记发送发帖请求,如下所示:

<a href="{% url 'precheckout-view' %}" class="btn btn-primary py-3 px-4"
        onclick="document.getElementById('my_form').submit();">Proceed to Checkout
</a>

当我第一次启动模板时,我能够从数据库中获取当前存储的数据到Note字段中。但是,当我修改“注释”字段的内容并单击“继续进行结帐”后,新数据不会替换到DB中。我应该在代码中添加什么?

0 个答案:

没有答案
相关问题