Django-excel-fixture is an easy way to import, export and test using .xlsx file.
Excel is a must in the corporate world. It is an easy to use and highly powerful application, currently being used by millions of users (maybe more than a billion user). Django-excel-fixture provides a way to import, export data using excel file (.xlsx); and also use it as test fixture.
To install it, simply:
$ pip install django-excel-fixture
Then add it to your INSTALLED_APPS on your settings.py:
INSTALLED_APPS = (
#...
'django_excel_fixture',
)
If you already have some data in the database, to export it to a .xlsx file:
$ python manage.py dumpdata --format xlsx --output myfilename.xlsx
It is also possible to select a specific model:
$ python manage.py dumpdata myapp1.MyModelName --format xlsx --output myfilename.xlsx
- If you leave out the output option, the table is dumped to stdout in CSV format.
- There will be sheets only for table with data
To manually load the data from the Excel file, use:
$ python manage.py loaddata myfilename.xlsx
To use the fixture in a test, just add to the test class:
class MyTestCase(TestCase):
fixtures = ['myfilename.xlsx']
def ...
- No performance optimization has been made. Caution is advised.
- Currently, it is only compatible with .xlxs format.
- Every sheet is a model. The sheet title represents the model's identification.
- Every column represents a field.
- Every row represents a object (database entry).
git clone git@github.com:SKisContent/django-excel-fixture.git
cd django-excel-fixture
python -m venv .venv
source .venv/scripts/activate
pip install -r requirements.txt
python runtests.py
The MIT License.