首页 > 解决方案 > IF ELSE 语句在模型中选择选项

问题描述

我想知道是否可能(也许我做错了),我的模型中有两个选择,我想创建一个 if 语句,当我选择一个选项时,它会自动选择正确的选项在下一个模型上。我也想知道这是最佳做法还是有其他方法可以做到

class CalculatorModel(models.Model):
    premium_investment_value_choice = [(10000,'10,000.00'),
                                (15000,'15,000.00'),
                                (18000,'18,000.00'),
                                (20000,'20,000.00'),
                                (30000,'30,000.00')]
    premium_value_choice = [(36,'36.00'),
                            (49,'49.05'),
                            (57,'57.06'),
                            (62.'62.00'),
                            (93.'93.00')]
    premium_payer_name = models.CharField(max_length = 13)
    premium_payer_id = models.CharField(max_length = 13)
    premium_investment_value = models.CharField(max_length = 9, choices = premium_investment_value_choice, default=10000  )
    premium_value = models.CharField(max_length=10, choices = premium_value_choice, default = 36)


    def value(self):
        if self.premium_investment_value == 10000:
            self.premium_value_choice = 36
            return self.premium_value_choice
        elif self.premium_investment_value == 15000:
            self.premium_value_choice = 49
            return self.premium_value_choice
        elif self.premium_investment_value == 15000:
            self.premium_value_choice = 57
            return self.premium_value_choice
        elif self.premium_investment_value == 15000:
            self.premium_value_choice = 62
            return self.premium_value_choice
        elif self.premium_investment_value == 15000:
            self.premium_value_choice = 93
            return self.premium_value_choice

标签: pythondjango-models

解决方案


使用字典供您参考的一种非常简单的方法:

CHOICES = {'10k': 36.00,
           '15k': 49.05,
           '18k': 57.06,
           '20k': 62.00,
           '30k': 93.00}

def value(sel='10k'):  # this is the default
    if sel in CHOICES:
        return CHOICES[sel]

干杯


推荐阅读