Автоматическое изменение статуса заказа по полученной от другого сервера информации
В общем, такое дело. Есть у меня модель заказа и у этой модели, в свою очередь, есть поле paid и поле status. Поле paid - BoleanField. Оно должно менять в зависимости от того, оплатил человек заказ или нет.
class Order(models.Model):
CHOICESSTATUS = {
('Оформлен', 'Оформлен'),
('Оплачен', 'Оплачен'),
('Отправлен', 'Отправлен'),
}
.........
.........
first_name = models.CharField('Имя', max_length=50)
last_name = models.CharField('Фамилия', max_length=50)
email = models.EmailField()
created = models.DateTimeField('Создано', auto_now_add=True)
updated = models.DateTimeField('Обновлено', auto_now=True)
paid = models.BooleanField('Оплачено', default=False)
status = models.CharField('Статус', max_length=100, default="Оформлен", choices=CHOICESSTATUS)
currency = models.CharField('Валюта', max_length=100, default="BYN", choices=CHOICES)
user = models.ForeignKey(User, blank=True, null=True, on_delete=models.PROTECT, related_name='orders', verbose_name="Заказы")
.........
.........
Я настроил, чтобы сервер платежной системы(Ассист) присылал на страницу детали конкретного заказа. И там есть статус заказа. Мне нужно каким-то образом брать с этой страницы данные о заказе и, в зависимости от того, что там написано, менять значение поля paid с False на True
В шаблоне есть форма, нажав на которую перекидывает на страницу, не связанную с моим сайтом.
<FORM ACTION="УРЛ НЕ СВЯЗАННЫЙ С САЙТОМ" METHOD="POST">
<INPUT TYPE="HIDDEN" NAME="Ordernumber" VALUE="{{ order.id }}">
<INPUT TYPE="HIDDEN" NAME="Merchant_ID" VALUE="******">
<INPUT TYPE="HIDDEN" NAME="Login" VALUE="*****">
<INPUT TYPE="HIDDEN" NAME="Password" VALUE="******">
<INPUT TYPE="HIDDEN" NAME="Startyear" VALUE="{{ order.created|date:"Y" }}">
<INPUT TYPE="HIDDEN" NAME="Startmonth" VALUE="{{ order.created|date:"m" }}">
<INPUT TYPE="HIDDEN" NAME="Startday" VALUE="{{ order.created|date:"d" }}">
<INPUT TYPE="HIDDEN" NAME="Starthour" VALUE="00">
<INPUT TYPE="HIDDEN" NAME="Startmin" VALUE="00">
<INPUT TYPE="HIDDEN" NAME="Endyear" VALUE="{{ order.created|date:"Y" }}">
<INPUT TYPE="HIDDEN" NAME="Endmonth" VALUE="{{ order.created|date:"m" }}">
<INPUT TYPE="HIDDEN" NAME="Endday" VALUE="{{ order.created|date:"d"|add:3 }}">
<INPUT TYPE="HIDDEN" NAME="Endhour" VALUE="23">
<INPUT TYPE="HIDDEN" NAME="Endmin" VALUE="59">
<INPUT TYPE="HIDDEN" NAME="Format" VALUE="3">
<INPUT TYPE="HIDDEN" NAME="Language" VALUE="RU">
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Выполнить">
</FORM>
После нажатия кнопки "Выполнить", перекидывает на страницу и инфа о заказе на этой странице представлена в формате xml. Выглядит это так:
