get_form_kwargs () из FromSet - PullRequest
       0

get_form_kwargs () из FromSet

0 голосов
/ 28 февраля 2020
>>> from django.forms import BaseFormSet
>>> from django.forms import formset_factory
>>> from myapp.forms import ArticleForm

>>> class MyArticleForm(ArticleForm):
...     def __init__(self, *args, user, **kwargs):
...         self.user = user
...         super().__init__(*args, **kwargs)

>>> ArticleFormSet = formset_factory(MyArticleForm)
>>> formset = ArticleFormSet(form_kwargs={'user': request.user})

The form_kwargs may also depend on the specific form instance. 
The formset base class provides a get_form_kwargs method. 
The method takes a single argument - the index of the form in the formset. 
The index is None for the empty_form:


>>> from django.forms import BaseFormSet
>>> from django.forms import formset_factory

>>> class BaseArticleFormSet(BaseFormSet):
...     def get_form_kwargs(self, index):
...         kwargs = super().get_form_kwargs(index)
...         kwargs['custom_kwarg'] = index
...         return kwargs

Я взял приведенный выше код из документации Django, в документации говорится, что form_kwargs, который является словарем, передаваемым при создании экземпляра FormSet, может зависеть от конкретного c экземпляра, но не говорит, как

Когда get_form_kwargs () вызывается в классе FormSet с индексом, вызывается метод его родительского класса get_form_kwargs () для извлечения предположительно kwargs из экземпляра формы

Где определены kwargs для экземпляра формы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...