Django Admin:从所选外键的属性动态自动填充表单域

时间:2012-07-23 18:55:59

标签: django django-admin

我有两个与问题相关的简单模型:

class CarMake(models.Model):
    make = models.CharField(max_length=64)
    default_cost = models.DecimalField(max_digits=7, decimal_places=2)

class Car(models.Model):
    model = models.CharField(max_length=64)
    make = models.ForeignKey(CarMake)
    cost = models.DecimalField(max_digits=7, decimal_places=2)

在Django Admin中创建或更新Car对象时,我希望使用所选cost的{​​{1}}自动填充default_cost字段从下拉列表中选择。

目前,如果在保存对象时该字段保留为空,则我将CarMake存储为make cost。我希望在default_cost下拉选择值时动态执行此操作。我假设解决方案涉及一些JavaScript ......

1 个答案:

答案 0 :(得分:2)

是的,如果你想要动态更新选择,你必须使用JS。做这种事情会涉及到破解django管理站点。您可以通过自定义模板来加载一些JS和更新特定下拉列表的事件处理程序。但是,在更新Django时,这很容易破坏(管理站点模板无法保证向后兼容)。就个人而言,我只是写一个自定义视图。