Использование вариантов выбора в поле в моделях django

#django #django-models

#django #django-модели

Вопрос:

Это мой models.py:

 class Order(models.Model):
    customer=models.ForeignKey(Customer,on_delete=models.SET_NULL,null=True,blank=True)
    paymentstatus = ( 
    ("Payment Successful", "Payment Successful"), 
    ("Payment Pending", "Payment Pending"), 
    ("Payment Failed", "Payment Failed"),  
    )
    status=models.CharField(max_length=20,blank=True,null=True,choices=paymentstatus)
  

В моем views.py У меня есть представление, которое проверяет, был ли платеж завершен или нет, в котором я хочу установить статус платежа (например, если платеж завершен, я хочу установить статус как платеж успешно). Вот как я это попробовал:

 if response_dict['RESPCODE'] == '01':
            order.status=Payment Successful
            order.save()
            print('order successful')
  

Но это не работает. Также после завершения я хочу, чтобы это было в шаблоне html, поэтому было бы правильным повторение типа {{order.status}}? Если нет, то как мне получить к нему доступ в моем шаблоне.

Комментарии:

1. Можете ли вы включить трассировку ошибок?

Ответ №1:

Вам нужно передать его в виде строки:

 if response_dict['RESPCODE'] == '01':
            order.status=Payment Successful
            order.save()
            print('order successful')
  

и вы можете просто получить к нему доступ, используя {% for ord in orders %} {{ord.status}} где вам нужно передавать заказы в качестве контекста