python - 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
解决方案
使用字典供您参考的一种非常简单的方法:
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]
干杯
推荐阅读
- c# - ICommand 类型的 WPF 附加属性
- javascript - 即使在 Cypress 中尝试将 pdf 文件作为多部分 FormData POST 请求发送时,FormData 对象仍为空
- javascript - 使用 Jest 和 @testing-library/react-hooks 在 TypeScript 中对自定义 React Hooks 进行单元测试
- python - 将动态形状添加到绘图方面图表 - Python
- visual-studio-extensions - Visual Studio 2017 扩展组合框选中事件
- postgresql - PostgreSQL - 是否可以编写一个 PostgreSQL 查询来限制它根据特定条件返回的结果数量?
- c++ - 有没有一种干净的方法可以从 getenv 调用中实例化一个 const std::string 私有成员
- nginx - 基于 $http_x_forwarded_for 的 nginx 拒绝
- assembly - 在汇编中,如何在不破坏任一操作数的情况下添加整数?
- reactjs - 如何在 react-three-fiber 中使用 GLTFExporter 导出多个不同的 3d 场景