Pet*_*ham 4 python django fixtures django-fixtures
我正在运行Django 1.7.我的项目文件树是这样的:
/project/app/fixtures/initial_data.json
/project/app/settings.py
我知道我可以运行python manage.py loaddata app/fixtures/initial_data.json命令来填充我的数据库,但我想在python manage.py migrate运行时自动加载它.我的设置包括:
FIXTURE_DIRS = (
    os.path.join(BASE_DIR, '/app/fixtures/'),
)
但是在运行迁移时不应用夹具.什么似乎是问题?
我不敢,这不是你的问题,因为自Django 1.7以来这已被弃用:
自动加载初始数据夹具
自1.7版本后不推荐使用:如果应用程序使用迁移,则不会自动加载灯具.由于Django 1.9中的应用程序将需要迁移,因此不推荐使用此行为.如果要加载应用程序的初始数据,请考虑在数据迁移中执行此操作.
如果创建名为initial_data.[xml/yaml/json]的夹具,则每次运行迁移时都会加载该夹具.这非常方便,但要小心:请记住,每次运行迁移时都会刷新数据.所以不要将initial_data用于您想要编辑的数据.
如果你真的想要这个,你可以随时自定义你的manage.py,
# import execute_from_command_line
    from django.core.management import execute_from_command_line
    # add these lines for loading data
    if len(sys.argv) == 2 and sys.argv[1] == 'migrate':
        execute_from_command_line(['manage.py', 'loaddata'])
    execute_from_command_line(sys.argv)
希望这可以帮助.
| 归档时间: | 
 | 
| 查看次数: | 2938 次 | 
| 最近记录: |