Как динамически выполнять миграции в Django? - PullRequest
0 голосов
/ 24 сентября 2019

Можно ли каким-либо образом создать поле ввода динамически в форме, не выполняя ручную работу, например сначала создать определенное поле в модели, а затем выполнить команду makemigartions, а затем выполнить команду migrate.

Я пытался использовать formset, но это не то, что я искал.

см. vtiger demo

имя пользователя - пароль администратора - admin

при открытии этой ссылки появляется опция ADD CUSTOM FIELD.Я хочу сделать то же самое с моим Джанго.Надеюсь, я смогу объяснить вам, что я хочу сделать.Я ищу это уже 3 дня и не могу это реализовать.

1 Ответ

2 голосов
/ 24 сентября 2019

Вы НЕ (я повторяю: «вы НЕ ») хотят «динамически добавлять поля» в модель (то есть в схему вашей базы данных).Вы хотите, чтобы ваша база данных схема была стабильной, известной и полностью контролируемой версией.Если вы не понимаете, почему, просто спросите себя, как ваш код может использовать поле, о котором он даже не знает (и это только одна из многих причин не делать этого).

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

Если это требование проекта, у вас теперь есть хотя бы первое представление о том, как это происходит.быть сделано.Но если ваша цель - просто избежать написания кода и выполнения миграций, тогда вы действительно хотите дважды подумать об этом ...

...