1

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

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字段自动填充从下拉列表中选择的选项default_costCarMake

目前,如果在保存对象时该字段留空,我会将其存储cost为品牌。当下拉列表选择一个值default_cost时,我更愿意动态地执行此操作。make我认为该解决方案将涉及一些 JavaScript ......

4

1 回答 1

2

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

于 2012-07-23T19:27:49.833 回答