0
我有两个模型MODELA和ModelB现在更新字段与另一个字段值动态地在Django
class ModelA(models.Model):
amount_per_product=models.PositiveIntegerField(default='', help_text="e.g 10000")
class ModelB(models.Model):
no_of_product_needed=models.PositiveIntegerField()
amount_to_pay=models.PositiveIntegerField()
modela=models.ForeignKey(ModelA)
,只要用户把一些如2
在no_of_product_needed
领域,Django的应该显示的总金额,用户将在保存前支付amount_to_pay
字段。因此,用户可以看到总金额,如果他/她想要购买,用户将点击购买,Django会将总金额保存在amount_to_pay
字段中。
我写了一个pre_save钩子,但它不工作。无论何时在no_of_product_needed
字段中插入号码,它都不会在amount_to_pay
字段中显示总金额。
钩
class ModelB(models.Model):
no_of_product_needed=models.PositiveIntegerField()
amount_to_pay=models.PositiveIntegerField()
modela=models.ForeignKey(ModelA)
def __init__(self, *args, **kwargs):
super(ModelB, self).__init__(*args, **kwargs)
pre_save.connect(self.before_buying, sender=ModelB)
def before_buying(self, sender, instance, *args, **kwargs):
initial= self.modela.amount_per_product
amt_needed= self.no_of_product_needed
final_amt=int(initial) * int(amt_needed)
self.amount_to_pay= self.final_amt
我缺少什么?这可以在JS中完成吗?
非常感谢您的支持!我也是这么认为。我仍然在寻找一个我可以用来做这件事的js函数。任何建议? – YoYo
你可以使用jquery。您在变更事件上创建了一个监听器,并根据您的产品输入no。在函数回调中,更新amount_to_pay的值。 (只读输入)。 – Wilfried