Django formset модульный тест

Я использую делегатов для передачи с потоками.

, Например, у меня могло бы быть приложение форм победы, которое загружает файл. Приложение запускает рабочий поток, чтобы сделать загрузку (который препятствует тому, чтобы GUI заперся). Рабочий поток использует делегатов для отправки сообщений о состоянии (например, прогресс загрузки) назад к основной программе, так, чтобы GUI мог обновить строку состояния.

22
задан alecxe 14 May 2013 в 14:35
поделиться

4 ответа

Каждый набор форм Django поставляется с формой управления, которую необходимо включить в сообщение. Официальные документы объясняют это довольно хорошо. Чтобы использовать его в своем модульном тесте, вам нужно либо написать его самостоятельно. (В предоставленной мной ссылке показан пример) или вызовите formset.management_form , который выводит данные.

14
ответ дан 29 November 2019 в 04:44
поделиться

Похоже, это вообще не набор форм. В наборах форм всегда будет какой-то префикс для каждого значения POSTed, а также для ManagementForm, о котором упоминает Bartek. Это могло бы помочь, если бы вы разместили код представления, которое пытаетесь протестировать, и форму / набор форм, которые оно использует.

0
ответ дан 29 November 2019 в 04:44
поделиться

In particular, I've found that the ManagmentForm validator is looking for the following items to be POSTed:

form_data = {
            'form-TOTAL_FORMS': 1, 
            'form-INITIAL_FORMS': 0 
}
22
ответ дан 29 November 2019 в 04:44
поделиться

Мой случай может быть выбросом, но в некоторых случаях фактически отсутствовало поле, установленное в стандартной форме / шаблоне администратора "contrib", что приводило к ошибке

"Данные ManagementForm отсутствуют или имеют был изменен с "

при сохранении.

Проблема заключалась в методе unicode (SomeModel: [Bad Unicode data]), который я обнаружил при исследовании отсутствующих строк.

Полагаю, урок состоит в том, что нельзя использовать карту символов MS. Моя проблема была с вульгарными дробями (¼, ½, ¾), но я предполагаю, что это могло произойти по-разному. Для специальных символов это исправлено копированием / вставкой со страницы w3 utf-8.

postscript-utf-8

0
ответ дан 29 November 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: