kwargs.pop['parent']
выдает TypeError: 'builtin_function_or_method' object is unsubscriptable
, потому что вы пытаетесь выполнить поиск ключа для метода функции ({}.pop
). Эта ошибка затем поглощается вашим обработчиком исключений.
Для этого нужно сделать kwargs.pop('parent', None)
. В вашем случае:
class VideoForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
self.parent = kwargs.pop('parent', None)
super(VideoForm, self).__init__(*args, **kwargs)
Как примечание, в 99% случаев лучше всего ловить только определенные исключения в ваших, кроме блоков. Это поможет избежать ошибок / путаницы, как это. Кроме того, я настоятельно рекомендую добавить модульные тесты для этой пользовательской конструкции (или просто добавить другой код в TDD, но это отдельная проблема)