Я абсолютный новичок в django и пока плохо понимаю, как здесь все работает. Появилась задача - создать форму с множеством различных полей (1000+) из таблицы с описанием этих полей. Показалось, что прописывать их все вручную нерационально, и точно существует более простой и изящный способ.
В отдельном скрипте вытащила все необходимые данные из csv (
test_fields - список словарей с необходимыми полями и их параметрами), импортировала, попыталась с помощью цикла и некоторых извращений сгенерировать необходимые поля в models.py:
test_names = []
class Test(models.Model):
for field in test_fields:
name = field['name']
if field['type'] == 'text':
globals()[name] = models.TextField(name, default=field['description'])
test_names.append(name)
С помощью
test_names планировала манипулировать полями в дальнейшем (эти имена необходимо сохранить в самой БД). По частям все работает адекватно, но сами поля не создаются и при миграции поднимается соответствующая ошибка.