Hemant Vishwakarma Django ModelForm - чи існує спосіб динамічного визначення полів (наприклад, коли

Зосереджено на веб-розробці, ReactJS, Angular, JavaScript, PHP, дизайні баз даних, Ionic, Jquery та MySQL

vishwakarma

  • Додому
  • Android
  • IOS
  • NodeJS
  • PHP
  • Python
  • Зв'яжіться з нами

Вівторок, 26 листопада 2019 р

Django ModelForm - Чи є спосіб динамічно визначати поля? (Наприклад, при використанні django-translation-fields)

У мене є ModelForm з Django 2.1, і я переніс кілька полів на іншу модель. Виклик make_migrations спричиняє помилку, оскільки ці поля не існують у поточній моделі. Я додав деякі поля у форму, але одне з полів є TranslatedField, і тому в даний час існує 2 поля, і в майбутньому їх може бути більше, залежно від кількості мов. Ім'я поля - місто, і в даний час я отримую повідомлення про помилку "Невідомі поля (міста), вказані для SiteProfile" (оскільки я використовую 2 мови - "en" та "he") - але я хочете створити всі поля динамічно за допомогою циклу for над мовами, які ми використовуємо в проекті. Чи можу я замінити (і чи це хороший метод програмування) метод __new__, чи є інший спосіб? Я вважаю за краще не кодувати конкретні назви полів (city_en та city_he), оскільки вони можуть змінитися в майбутньому, залежно від того, скільки мов ми використовуємо.