community.general.django_dumpdata module – Wrapper for django-admin dumpdata

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_dumpdata.

New in community.general 11.3.0

Synopsis

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

Parameters

Parameter

Comments

all

boolean

Dump all records, including those which might otherwise be filtered or modified by a custom manager.

Choices:

  • false

  • true

apps_models

list / elements=string

Dump only the applications and models listed in the dump.

Format must be either app_label or app_label.ModelName.

If not passed, all applications and models are to be dumped.

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.

fixture

aliases: output

path / required

Path to the output file.

The fixture filename may end with .bz2, .gz, .lzma or .xz, in which case the corresponding compression format will be used.

This corresponds to the --output parameter for the django-admin dumpdata command.

format

string

Serialization format of the output data.

Choices:

  • "xml"

  • "json" ← (default)

  • "jsonl"

  • "yaml"

indent

integer

Indentation size for the output.

Default is not to indent, so the output is generated in one single line.

natural_foreign

boolean

Use natural keys when serializing for foreign keys.

Choices:

  • false

  • true

natural_primary

boolean

Omit primary keys when serializing.

Choices:

  • false

  • true

primary_keys

aliases: pks

list / elements=string

List of primary keys to include in the dump.

Only available when dumping one single model.

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
    fixture: /tmp/mydata.json

- name: Dump data excluding certain apps, into a compressed JSON file
  community.general.django_dumpdata:
    settings: myproject.settings
    database: myotherdb
    excludes:
      - auth
      - contenttypes
    fixture: /tmp/mydata.json.gz

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)