Сохранение данных из формы Django в БД - PullRequest
0 голосов
/ 19 апреля 2020

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...