Итак, у меня есть эта 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. Однако, когда я изменяю содержимое поля «Примечание» и после нажатия «Перейти к оформлению заказа», новые данные не заменяются в БД. Что я должен добавить в свой код?