# django-data-import-management
Django data import management application.
## Install
```
pip install django-data-import-management
```
## Usage
**pro/settings.py**
```
INSTALLED_APPS = [
...
'django_data_import_management',
'example_app',
...
]
```
**example_app/import_workflow.py**
```
from django_data_import_management.models import DjangoDataImportWorkflow
from django_data_import_management.models import ParsedItem
class ExampleImportWorkflow(DjangoDataImportWorkflow):
def do_parse(self):
items = []
for i in range(10):
item = ParsedItem()
info = str(i)
data = {
"index": 1,
}
item.mark_success(info, data)
items.append(item)
return items # Note: always return the parsed ParsedItems
def do_import(self, import_items):
for item in import_items:
item.mark_success()
return import_items # Note: always return import_items
```
**example_app/apps.py**
```
class ExampleAppConfig(AppConfig):
name = 'example_app'
def ready(self):
from django_data_import_management.models import register_django_data_import_workflow
from .import_workflows import ExampleImportWorkflow
register_django_data_import_workflow("Example Import", ExampleImportWorkflow)
```
**example_app/__init__.py**
```
default_app_config = "example_app.apps.ExampleAppConfig"
```
*Steps:*
1. Setup dependencies.
1. Create a new workflow.
1. Register the workflow when project starts.
## Releases
### v0.1.4
- First release.
### v0.1.5
- Pass datafile instance to workflow.
### v0.1.6
- Add DjangoSimpleExportedDataImportWorkflow base class.
### v0.1.8
- Fix string format problem.
- Fix fk problem.
### v0.1.9
- Fix dependence package version problem.
### v0.2.0
- Fix ugettext problem for Django 4.2.x.
- Add do_parse and do_import object toolbar button.
### v0.2.1
- Doc update.
Raw data
{
"_id": null,
"home_page": "",
"name": "django-data-import-management",
"maintainer": "Qian DingFeng",
"docs_url": null,
"requires_python": "",
"maintainer_email": "qiandingfeng@zencore.cn",
"keywords": "django extentions",
"author": "Qian DingFeng",
"author_email": "qiandingfeng@zencore.cn",
"download_url": "https://files.pythonhosted.org/packages/0b/8c/7032619208a0a5c67922688285eaa0762b7236d95de6fa0d078945edb2cd/django-data-import-management-0.2.1.tar.gz",
"platform": null,
"description": "# django-data-import-management\n\nDjango data import management application.\n\n\n## Install\n\n```\npip install django-data-import-management\n```\n\n## Usage\n\n**pro/settings.py**\n\n```\nINSTALLED_APPS = [\n ...\n 'django_data_import_management',\n 'example_app',\n ...\n]\n```\n\n**example_app/import_workflow.py**\n\n```\nfrom django_data_import_management.models import DjangoDataImportWorkflow\nfrom django_data_import_management.models import ParsedItem\n\nclass ExampleImportWorkflow(DjangoDataImportWorkflow):\n\n def do_parse(self):\n items = []\n for i in range(10):\n item = ParsedItem()\n info = str(i)\n data = {\n \"index\": 1,\n }\n item.mark_success(info, data)\n items.append(item)\n return items # Note: always return the parsed ParsedItems\n \n def do_import(self, import_items):\n for item in import_items:\n item.mark_success()\n return import_items # Note: always return import_items\n\n```\n\n**example_app/apps.py**\n\n```\nclass ExampleAppConfig(AppConfig):\n name = 'example_app'\n\n def ready(self):\n from django_data_import_management.models import register_django_data_import_workflow\n from .import_workflows import ExampleImportWorkflow\n register_django_data_import_workflow(\"Example Import\", ExampleImportWorkflow)\n```\n\n**example_app/__init__.py**\n\n```\ndefault_app_config = \"example_app.apps.ExampleAppConfig\"\n```\n\n*Steps:*\n\n1. Setup dependencies.\n1. Create a new workflow.\n1. Register the workflow when project starts.\n\n## Releases\n\n\n\n### v0.1.4\n\n- First release.\n\n### v0.1.5\n\n- Pass datafile instance to workflow.\n\n### v0.1.6\n\n- Add DjangoSimpleExportedDataImportWorkflow base class. \n\n### v0.1.8\n\n- Fix string format problem.\n- Fix fk problem.\n\n### v0.1.9\n\n- Fix dependence package version problem.\n\n### v0.2.0\n\n- Fix ugettext problem for Django 4.2.x.\n- Add do_parse and do_import object toolbar button.\n\n### v0.2.1\n\n- Doc update.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Django data import management application.",
"version": "0.2.1",
"project_urls": null,
"split_keywords": [
"django",
"extentions"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "620a71d774cb32bd4fc7d0b2149bbebaf5bad0c017a29dcd1544189c213973a7",
"md5": "3192d50d9b72935db6512fd19949d9a7",
"sha256": "ee2357f4b772e5a9d4a202187f6306e0619c39f51e12f4516c880e43de6eccee"
},
"downloads": -1,
"filename": "django_data_import_management-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3192d50d9b72935db6512fd19949d9a7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 21337,
"upload_time": "2023-09-14T12:42:40",
"upload_time_iso_8601": "2023-09-14T12:42:40.879876Z",
"url": "https://files.pythonhosted.org/packages/62/0a/71d774cb32bd4fc7d0b2149bbebaf5bad0c017a29dcd1544189c213973a7/django_data_import_management-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0b8c7032619208a0a5c67922688285eaa0762b7236d95de6fa0d078945edb2cd",
"md5": "088fef2f9ad44fec442b9588c5645b37",
"sha256": "5e66164885b01f106ef2bafd31a0fc3fe2cab29f44d96399270a76721bb4b9d9"
},
"downloads": -1,
"filename": "django-data-import-management-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "088fef2f9ad44fec442b9588c5645b37",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16456,
"upload_time": "2023-09-14T12:42:42",
"upload_time_iso_8601": "2023-09-14T12:42:42.779462Z",
"url": "https://files.pythonhosted.org/packages/0b/8c/7032619208a0a5c67922688285eaa0762b7236d95de6fa0d078945edb2cd/django-data-import-management-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-14 12:42:42",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "django-data-import-management"
}