community.general.django_loaddata module – Wrapper for django-admin loaddata

Note

This module is part of the community.general collection (version 11.3.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.django_loaddata.

New in community.general 11.3.0

Synopsis

  • This module is a wrapper for the execution of django-admin loaddata.

Parameters

Parameter

Comments

app

string

Specifies a single app to look for fixtures in rather than looking in all apps.

database

string

Specify the database to be used.

Default: "default"

excludes

list / elements=string

Applications or models to be excluded.

Format must be either app_label or app_label.ModelName.

fixtures

list / elements=path

List of paths to the fixture files.

format

string

Serialization format of the output data.

Choices:

  • "xml"

  • "json" ← (default)

  • "jsonl"

  • "yaml"

ignore_non_existent

boolean

Ignores fields and models that may have been removed since the fixture was originally generated.

Choices:

  • false

  • true

pythonpath

path

Adds the given filesystem path to the Python import search path.

The value is passed as is to the --pythonpath argument in django-admin.

settings

string / required

Specifies the settings module to use.

The value is passed as is to the --settings argument in django-admin.

skip_checks

boolean

Skips running system checks prior to running the command.

Choices:

  • false

  • true

traceback

boolean

Provides a full stack trace in the output when a CommandError is raised.

Choices:

  • false

  • true

venv

path

Use the the Python interpreter from this virtual environment.

Pass the path to the root of the virtualenv, not the bin/ directory nor the python executable.

verbosity

integer

Specifies the amount of notification and debug information in the output of django-admin.

Choices:

  • 0

  • 1

  • 2

  • 3

Attributes

Attribute

Support

Description

check_mode

Support: none

Can run in check_mode and return changed status prediction without modifying target.

diff_mode

Support: none

Returns details on what has changed (or possibly needs changing in check_mode), when in diff mode.

Notes

Note

  • The django-admin command is always executed using the C locale, and the option --no-color is always passed.

  • As it is now, the module is not idempotent. Ensuring idempotency for this case can be a bit tricky, because it would amount to ensuring beforehand that all the data in the fixture file is already in the database, which is not a trivial feat. Unfortunately, neither django loaddata nor django dumpdata have a --dry-run option, so the only way to know whether there is a change or not is to actually load or dump the data.

See Also

See also

django-admin and manage.py in official Django documentation

Refer to this documentation for the builtin commands and options of django-admin. Please make sure that you select the right version of Django in the version selector on that page.

Examples

- name: Dump all data
  community.general.django_dumpdata:
    settings: myproject.settings

- name: Create cache table in the other database
  community.general.django_createcachetable:
    database: myotherdb
    settings: fancysite.settings
    pythonpath: /home/joedoe/project/fancysite
    venv: /home/joedoe/project/fancysite/venv

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

run_info

dictionary

Command-line execution information.

Returned: success and verbosity >= 3

version

string

Version of Django.

Returned: always

Sample: "5.1.2"

Authors

  • Alexei Znamensky (@russoz)