This lets you load global fixtures from a directory you set as
FIXTURES_ROOT in your settings.py.
For example, setting
I tend to like to keep fixtures that should be loaded when a new instance of a site is deployed, but not auto-loaded (so they won't rewrite any data that comes after), in a project-level fixtures directory like this.
Sometimes these fixtures can be useful in your test suites, so this is a convenient way to load them.
load_global_fixtures('sites.json', 'contacts.json', fixtures_root='/some/other/path', verbosity=1)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
import os from django.core import management from django.conf import settings def load_global_fixtures(*fixtures, **opts): options = dict(fixtures_root=settings.FIXTURES_ROOT, verbosity=0) options.update(opts) for fixture in fixtures: management.call_command('loaddata', os.path.join(options['fixtures_root'], fixture), verbosity=options['verbosity'])