Django -select2 Select2TagWidget для inlineformset - PullRequest
0 голосов
/ 24 марта 2020

Я довольно ленив, поэтому я стараюсь максимально использовать Django готовых функций. Мои модели:

  • Комната (например, спальня),
  • МебельСсылка (например, кровать, лампа ...)
  • Комната Мебель (предмет мебели [FurnitureRerence], количество ...) как "сквозная" (промежуточная модель) таблица

Мне удалось создать UpdateView со встроенным набором форм, который выглядит следующим образом, каждая строка имеет:

  • выбор, чтобы выбрать ссылку на мебель
  • несколько входов для количества, местоположения ...

Inlineformset поставляется с дополнительным = 5.

Все работает пока отлично.

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

Мне удалось заставить его работать в более простой форме, настроив метод value_from_datadict по умолчанию для моих нужд.

Но с inlineformset все вылетает.

Мои проблемы:

  • Когда я отправляю форму, каждая строка считается измененной, даже дополнения, которые я оставил пустыми.
  • Когда я не оставляю дополнений, я получаю сообщение об ошибке формы в котором написано

Я был бы очень признателен, если бы кто-нибудь мог помочь мне в решении любой из этих двух проблем или, возможно, еще одним способом решения этой ситуации «создания ссылки на лету».

Спасибо.

...