私のdjangoプロジェクトには、「Vehicle」(親モデル)とParamConf(子モデル)の2つの関連モデルがあります。ParamConf には「program」フィールドがあり、その中の間違った値を修正したいと考えています。
(admin.py):
class ParamConfFormSet(BaseInlineFormSet):
def clean(self):
super(ParamConfFormSet, self).clean()
for form in self.forms:
if hasattr(form, 'cleaned_data') and 'program' in form.cleaned_data:
program = form.cleaned_data['program'].lower() # <<< I want to save this changed value
form.cleaned_data['program'] = program # <<< but this doesn't work :^(
class ParamConfInline(admin.TabularInline):
model = models.ParamConf
formset = ParamConfFormSet
class VehicleAdminForm(forms.ModelForm):
class Meta:
model = models.Vehicle
class VehicleAdmin(admin.ModelAdmin):
inlines = [ ParamConfInline, ]
form = VehicleAdminForm
ParamConf の save() メソッドも書きましたが、django は Vehicle フォームを保存した後に呼び出したがりません (Vehicle の save メソッドは問題ありません)。