4

現在のリクエストによって決定される可能性のあるリストから値を選択したいので、CharField を ChoiceField に動的に変更したいと考えています。

ModelAdmin では、get_form() でそれを行うことができ、次のように言うだけです。

form.base_fields[field_name] = forms.ChoiceField(...)

しかし、InlineModelAdmin (TabularInline) に対して同じことを行うにはどうすればよいでしょうか? get_formset() と get_fieldsets() を少し調べましたが、フックする適切な場所が見つかりません。

4

2 に答える 2

3

インラインのget_formsetsように使用できる方法があります。get_formこれは のデフォルト バージョンですdjango.contrib.admin.options.ModelAdmin:

def get_formsets(self, request, obj=None):
    for inline in self.inline_instances:
        yield inline.get_formset(request, obj)
于 2012-07-30T15:22:31.647 に答える