在Django模型的字段中使用选择

时间:2020-08-14 18:20:51

标签: 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 个答案:

答案 0 :(得分:1)

您需要将其作为字符串传递:

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

,您只需在需要传递订单作为上下文的地方使用{% for ord in orders %} {{ord.status}}即可访问它