Обновление BooleanField через onClick - PullRequest
0 голосов
/ 14 января 2020

Добрый вечер, извиняюсь за то, что, вероятно, очень простой вопрос c, но я прятался здесь несколько дней и пока не нашел решение, которое подходит.

Короче говоря, у меня есть очень простая модель с логическим полем, которую я хотел бы переключать с помощью щелчка. Файл модели:

class Book(models.Model):
    title = models.CharField(max_length=254, default='')
    author = models.CharField(max_length=254, default='')
    genre = models.CharField(max_length=254, default='')
    price = models.DecimalField(max_digits=6, decimal_places=2)
    checkedOut = models.BooleanField(default=False)
    archived = models.BooleanField(default=False)

Я попытался вставить следующий метод в соответствующие файлы представлений / моделей (оба безрезультатно):

    def check_out(self):

        if self.checkedOut == False:
            self.checkedOut = True
        else:
            self.checkedOut = False
        self.save()

У меня есть следующее в URL:

url(r'^$', check_out, name='check_out')

и html для соответствующей кнопки:

<button class="check_btn button button-outline" method="post" type="submit" onClick="{% url 'check_out' %}">
    <i class="fas fa-book"></i>
</button>

Я уверен, что упускаю что-то очевидное - или я пытаюсь упростить более сложная задача, но, кажется, ничего не работает. Я также попытался следовать совету здесь Измените логическое значение после нажатия на кнопку в Django, но аналогичным образом я не испытываю радости.

...