Я подумал, что лучше всего отредактировать ваш шаблон.
Я пытался перебирать наборы форм в render_change_form
, но, к сожалению, главная проблема в том, что InlineAdminForm
sсоздается динамически после итерации в шаблоне, поэтому вы не можете просто установить inlineadminform.original = None
или изменить контекст.
Они даже не существуют, пока не назначены переменные в шаблоне.
# InlineAdminFormset
def __iter__(self):
for form, original in zip(self.formset.initial_forms, self.formset.get_queryset()):
yield InlineAdminForm(self.formset, form, self.fieldsets,
self.opts.prepopulated_fields, original, self.readonly_fields,
model_admin=self.model_admin)
и единственный легко доступный нам хакерский хук - это переопределение InlineAdminFormset.formset.get_queryset()
, которое ломает другие вещи.
Могу ли я поделиться кодом , на который никто не должен смотреть, но он работает и заставляет меня смеяться?Я в долгу перед тобой.Надеюсь, я смогу заснуть сегодня вечером.