Initial_data импортируется каждый раз, когда вы делаете syncdb.Насколько я помню, он также перезаписывает любые изменения, которые вы сделали вручную.
Чтобы загрузить другие приборы, вы должны использовать manage.py loaddata имя прибора.Это хорошо работает, если вы используете общую схему именования во всех своих приложениях.Если вы этого не сделаете, вы должны дать loaddata имя каждого из них или использовать find, чтобы получить список приборов и exec loaddata в каждом из них:
EDIT: (как я добавляю manage.pyв / bin в virtualenv, когда я устанавливаю пакет django, я использую только manage.py, если вам не нужен python manage.py loaddata, конечно)
find . -name "*.json" -exec manage.py loaddata {} \;
Я использую это в fabfileдля автоматизации постановочных инсталляций:
def load_all_fixtures():
"""Loads all the fixtures in every dir"""
with cd(env.directory):
run("""
source /usr/local/bin/virtualenvwrapper.sh &&
workon %s &&
find -L . -name "*.json" -exec manage.py loaddata {} \;
""" % env.virtualenv )