导出一个或多个对象及其相关对象。允许您精细控制要导出的相关对象。
项目描述
安装
使用pip安装非常简单。
$ pip install django-objectdump
添加到INSTALLED_APPS
可选地添加配置信息(OBJECTDUMP_SETTINGS)
设置
OBJECTDUMP_SETTINGS = {
'MODEL_SETTINGS': {
'app.model': {
'ignore': False,
'fk_fields': True, # or False, or ['whitelist', 'of', 'fks']
'm2m_fields': True, # or False, or ['whitelist', 'of', 'm2m fields']
'addl_relations': [] # callable or 'othermodel_set.all' strings
}
}
}
- ignore
如果为True,则始终忽略此模型。相当于使用--exclude与此模型。
- fk_fields
如果为False,则不通过外键包含相关对象。否则,包含相关对象的外键白名单。
- m2m_keys
如果为False,则不通过多对多字段包含相关对象。否则,包含相关对象的多对多字段名白名单。
- addl_relations
一个可调用的列表,传递给对象,或在Django模板语法中的字符串('author_set.all.0'变为'object.author_set.all.0'并评估为object.author_set.all()[0])
选项
- --format
默认: json
指定 fixtures 的输出序列化格式。选项取决于 SERIALIZATION_MODULES 设置。xml、json和yaml是内置的。
- --indent
默认: None
指定要使用的缩进级别。默认情况下,不会进行任何美化打印或缩进内容。
- --database
默认: DEFAULT_DB_ALIAS
指定要从中导出 fixtures 的特定数据库。默认为“默认”数据库。
- -e, --exclude
默认: []
要排除的应用或应用名.ModelName(使用多个 --exclude 来排除多个应用/模型)。
- -n,--natural
默认值: False
如果可用,则使用自然键。
- --depth
默认: None
获取相关对象的最多深度。指定的初始对象被认为是第0级。默认情况下将获取所有对象。
- --limit
默认: None
获取相关对象的最多数量。默认情况下获取所有相关对象。
- -i,--include
默认值: all
要白名单导出中包含的相关对象的应用或应用名.ModelName(使用多个 --include 来包括多个应用/模型)。
- --idtype
默认值: 'int'
指定id的自然类型。选项包括:int、unicode、long
- --debug
默认值: False
输出调试信息。显示每个对象生成的相关对象。与 --verbosity 2 一起使用时,还可以看到哪些字段是链接。