Я столкнулся с очень странной проблемой, когда одна форма инициализируется данными из другой формы целиком. Вот первый вид:Django текстовое поле формы с заполнением данными из другой формы
class UpdateProfileView(FormMixin, DetailView):
form_class = UpdateProfileForm
model = Profile
template_name = 'profile/update.html'
def get_context_data(self, **kwargs):
self.object = self.get_object()
context = super(UpdateProfileView, self).get_context_data(**kwargs)
...
self.initial['description'] = profile.about
context['form'] = self.get_form()
return context
...
Это форма, которая вернет правильные данные. Как только он будет загружен, однако, следующая форма будет возвращать инициализированные данные из предыдущей, даже из разных сессий, браузеров и мест:
class BountyUpdateForm(forms.ModelForm):
class Meta:
model = Bounty
fields = ("description", "banner")
class UpdateBountyView(UpdateView):
form_class = BountyUpdateForm
model = Bounty
template_name = 'bounty/update.html'
...
def get_context_data(self, **kwargs):
context = super(UpdateBountyView, self).get_context_data(**kwargs)
description = context['form']['description']
value = description.value()
# Value equals what was initialized by the previous form.
мне действительно любопытно, почему эти две форм взаимодействия в этом случае. Оба поля формы называются «описанием», но это не объясняет, почему исходные данные из одного будут пересекаться с другим. Перезапуск сервера, кажется, временно получает вторую форму, чтобы показывать правильные значения, но как только первый загружается, второй следует примеру.
Любая помощь была бы принята с благодарностью!
Считается, что я могу инициализировать поля формы неправильно, но было напомнено, что это документированный способ сделать это: https://docs.djangoproject.com/en/1.8/ref/forms/api/#dynamic-initial -значения – Maaack
Вы имеете в виду, даже после метода POST для представления, 'description' не обновляется? –
Нет, извините, если это было непонятно. Я имею в виду только загрузку 2-й формы, я получаю исходные данные из 1-й формы, хотя это отдельные страницы, посвященные различным моделям. – Maaack