SHARE_TYPE = (('SECONDARY ', 'secondary'),
('IPO', 'IPO'),
('RIGHT', 'Right'),
('BONUS', 'Bonus'),
)
class PurchasedShare(models.Model):
transaction_date = models.DateField()
transaction_number = models.IntegerField(unique=True)
quantity = models.PositiveIntegerField()
rate = models.DecimalField(max_digits=10, decimal_places=2)
broker = models.ForeignKey(Broker, on_delete=models.CASCADE)
share_type = models.CharField(max_length=150, choices=SHARE_TYPE)
symbol = models.ForeignKey(Company, on_delete=models.CASCADE)
portfolio = models.ForeignKey(Portfolio, on_delete=models.CASCADE)
shareholder = models.ForeignKey(ShareHolder,
on_delete=models.CASCADE)
def __str__(self):
return str(self.symbol)
例如,如果我选择IPO share_type,则创建包含字段的表单 符号,数量,费率和投资组合,如果我选择二级 share_type创建包含所有字段的表单。
答案 0 :(得分:1)
您有两种选择:
创建第一个表单步骤,您只需要提供共享类型,然后直接转到/new-purchased-share/?share_type=SECONDARY
这样的页面,该页面会显示正确的格式并显示它。
根据所选的共享类型,使用Javascript显示/隐藏以前的表单字段。