Вы можете поместить это куда угодно, но это часто встречается в файлах настроек (или даже в urlconf).Везде, где вы могли бы поставить сигнал, также может быть уместно.Этот код должен быть немного более интеллектуальным - часто файлы импортируются несколько раз, и с этим ничего не поделаешь, поэтому вы можете столкнуться с проблемами, если попытаетесь запустить такой код несколько раз.
Код должен быть выполнен по крайней мере один раз для каждого процесса Python.
Да, вам нужно изменить БД вручную.Syncdb , вероятно, не поймает изменения (я не внимательно изучил код), но могут быть некоторые места, где можно разместить код, который будет работать.
Вы, кажется,Я уже знаю, что это ужасно, ужасно, и никогда не следует делать это для реального кода, так что я не буду это понимать.Подобные действия - фантастический способ генерировать действительно трудные для поиска ошибки в вашем коде, в дополнение к коду, который может не работать в будущих версиях Django.
Кроме того, он не будет хорошо работать с South, который вы должны использовать.