Как я могу изменить значение логического поля из статического файла с помощью флажков

Я только начал использовать django, и я не так хорошо с ним знаком. Это моя проблема, я просто хочу поставить галочку и изменить значение логического поля в модели, которое по умолчанию = false, на true

Я пытаюсь создать функцию из views.py, но если есть какой-либо способ сделать это непосредственно из статического файла, где установлен мой флажок, это тоже сработает для меня.

Это мои взгляды.py

def check(request):
    check = AddToCart.objects.get(orderd = request.GET['orderd'])
    check.is_active = True
    check.save()

это флажок

Check: <input type = "checkbox" name = "checked" value = "checked">

Это моя модель на models.py:

class AddToCart(models.Model):
    id = models.AutoField(primary_key=True, unique=True)
    id_product = models.ForeignKey(Produkte, on_delete = models.DO_NOTHING)
    quantity = models.IntegerField()
    id_user = models.ForeignKey(User, on_delete = models.DO_NOTHING)
    orderd = models.BooleanField(default=False)

   @property
   def cmimi_total(self):
       return self.quantity * self.id_product.cmimi

У меня есть несколько объектов внутри AddToCart, и я хочу изменить логические значения каждого из них на True, когда флажок установлен. Я знаю, что моя проблема просто основная, но как новичок мне может понадобиться помощь. Спасибо !

Вы можете использовать пост jQuery ajax для этого

Sammy J 10.04.2019 10:59

Там только один флажок или несколько?

Sammy J 10.04.2019 11:06

ваша HTML-страница должна отправить идентификатор объекта, чтобы пометить его как orderd (либо при отправке формы, либо с помощью ajax). Таким образом, ваше представление должно получить объект на основе этого идентификатора, а затем установить orderd на True. Я не знаю, почему вы выбираете на основе orderd (чтобы получить все упорядоченные объекты), и я не знаю, почему вы устанавливаете is_active, поскольку в вашей модели нет этого поля.

dirkgroten 10.04.2019 11:08

Также почему ваш HTML является «статическим файлом»? Как он может содержать продукты в корзине, если он статичен?

dirkgroten 10.04.2019 11:09

@SammyJ в файле HTML есть только один флажок, и когда я отмечаю его, я хочу отметить логическое поле каждого объекта внутри AddToCart.

Pàrís Źarka 10.04.2019 11:10

Хорошо, а что такое orderd в check = AddToCart.objects.get(orderd = request.GET['orderd'])? Это флажок, к которому вы пытаетесь получить доступ?

Sammy J 10.04.2019 11:13

@SammyJ поле из модели AddToCart, я думаю?

Pàrís Źarka 10.04.2019 11:16

Ой, извините, надо было поконкретнее, я имею в виду это request.GET['orderd'] что orderd здесь?

Sammy J 10.04.2019 11:18

@dirkgroten я вижу руководства на YouTube, в которых говорится, что мне нужно установить пакет django-multiselectfield ... Я запутался!

Pàrís Źarka 10.04.2019 11:19

@SammyJ получает поле «упорядоченное» из модели. Я использовал тот же способ, чтобы получить объект, ссылающийся на него по идентификатору 'prod_delete = AddToCart.objects.get(id = request.GET['id'])' а затем 'prod_delete.delete()', чтобы удалить объект, и подумал о том, чтобы сделать что-то подобное с логическим значением, после того, как я получил его таким образом, я хотел изменить значение с ложного на истинное, это то, что я пытался сделать

Pàrís Źarka 10.04.2019 11:22

@PàrísŹarka, тебе нужно потратить еще немного времени на изучение основ. Как делать запросы в Django и как отправлять формы. И вы смотрели неправильные уроки на YouTube. Большинство простых вещей можно сделать в django без сторонних пакетов, и вы должны сначала хорошо понять, как работает django, прежде чем использовать сторонние пакеты. Они просто запутают вас.

dirkgroten 10.04.2019 11:25

@dirkgroten я полностью понимаю, я только начал изучать django примерно 2 недели назад и python примерно месяц назад

Pàrís Źarka 10.04.2019 11:27

официальные документы хорошо написаны и бесценны: это о запросах и это о формах.

dirkgroten 10.04.2019 11:30

@dirkgroten спасибо, чувак, я очень ценю твою помощь и спасибо за руководство, это только мое начало в джанго, и я чувствую, что погрузился в информацию, поэтому я также не понимаю, задавая вопросы, связанные с джанго.

Pàrís Źarka 10.04.2019 11:34

@PàrísŹarka, конечно, каждый должен с чего-то начинать. Ваш вопрос слишком неясен, чтобы ответить. Модель AddToCart тоже странная, из-за чего сложно понять, чего именно вы пытаетесь достичь. Что представляет объект AddToCart? Обычно у вас есть модели Cart и Product (обратите внимание на существительное) и методы или представления add_to_cart (обратите внимание на глагол) для добавления товаров в корзину. Но что такое «addtocart»?

dirkgroten 10.04.2019 11:38

@dirkgroten все записи в моей модели AddToCart отображаются как «объект AddToCart (число)» в администрировании Django.

Pàrís Źarka 10.04.2019 11:43

Это стандартный способ представления объекта модели в Django. Если вы переопределите метод __str__(), вы можете решить, что вы хотите отображать, когда ваши объекты «распечатываются».

dirkgroten 10.04.2019 11:49
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
17
205
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я снял флажок и просто использовал кнопку, чтобы преобразовать логические значения в модели в Истинный. это мои взгляды.py

def check_out(request):
if request.method == 'GET':
    checked = AddToCart.objects.filter(id_user = request.user, orderd = False)
    for a in checked:
        a.orderd = True
        a.save()
    return HttpResponseRedirect('/browse/')

и кнопку в html файл

<a type = "button" href = "/check/" class = "btn btn-ge style-4 btn-warning btn-sm" id = "buy_button">Buy Now</a>

Другие вопросы по теме