Как я обновляю уже существующую строку при использовании ModelForms?

Я не эксперт в TDD, каким-либо образом, но здесь являюсь моим представлением:

  • , Если это абсолютно тривиально (методы get/методы set и т.д.) не тестируют его, если Вы не уверены в коде по некоторым причинам.
  • , Если это - довольно простой, но нетривиальный метод, протестируйте его. Тест, вероятно, легко записать так или иначе.
  • , Когда дело доходит до что ожидать не происходить, я сказал бы, что, если определенной потенциальной проблемой является ответственность класса, Вы тестируете, необходимо протестировать это, это обрабатывает его правильно. Если это не ответственность текущего класса, не тестируйте его.

xUnit среды тестирования часто свободны использовать, поэтому если Вы-.Net парень, проверяете NUnit, и если Java является Вашей вещью выезд JUnit.

12
задан Vadim Kotov 18 October 2017 в 15:58
поделиться

2 ответа

В django docs дается простой пример того, как создать " форма для изменения существующего [[entity]] ":

>>> article = Article.objects.get(pk=1)
>>> form = ArticleForm(instance=article)

Если вам кажется, что вы хотите использовать один и тот же поток как для вставки новых объектов, так и для изменения существующих, вам придется создать экземпляр формы отдельно в зависимости от того, ищете ли вы первичный ключ успешно (существующий объект) или не работает (новый объект)! -)

16
ответ дан 2 December 2019 в 04:33
поделиться

Чтобы обновить существующую строку (или объект на языке ORM), вы должны указать ModelForm , какой экземпляр использовать при его создании:

f = DeviceModelForm(request.POST, instance=myobject)

Я не уверен, откуда вы получите myobject при использовании поршня, но ваш вопрос, похоже, подразумевает, что вы уже решили эту конкретную проблему.

14
ответ дан 2 December 2019 в 04:33
поделиться
Другие вопросы по тегам:

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