Skip to main content

easy to create a django fixture

Project description

django-easy-fixture
===================
.. figure:: https://travis-ci.org/allenling/django-easy-fixture.svg?branch=master

python2.7, python3.5

1.8<= Django <= 1.10

**install: pip install django-easy-fixture**

That is a easy, simple tool to help you to fill your fixture dict with some spam datas

Make your fixture dict to be a completely available django fixture that **you do not have to worry about any unqiue, unqie_together, just pk**

**The pk must be defined by you!**

**Just support all the fields defined by Django, and do not support any customization field.**

**Maybe** support the customization field in the future.



1. get a fixture dict
---------------------

.. code-block:: python

# in template.py
fixtures_template={'auth.User': [{'pk': 1}]}

# in other.py
from easy_fixture.easy_fixture import EasyFixture
from template import fixtures_template

ef = EasyFixture(fixtures_template)
fixtures_dict = ef.output()

2. use as a django app command
------------------------------

.. code-block:: python

# in template.py
fixtures_template = {'auth.User': [{'pk': 1}]}

# in your settings.py
INSTALLED_APPS = ('other apps',
'easy_fixture',
)
run make_fixture command

.. code-block:: python

python manage.py make_fixture template.fixtures_template > /path/to/fixture.json

Must pass the module path and fixture variable, like module.to.fixture.Variable_name

**do not support old style**

.. code-block:: python

python manage.py make_fixture template > /path/to/fixture.json

3. use in test
--------------

In your testCase, call EasyFixture.load_into_testcase in your setUpTestData, setUpClass, setUp or anywhere you want to load your fixture data.

.. code-block:: python

FIXTURE_DICT = {'auth.User': [{'pk': 1}]}

class MyTestCase(TestCase):

@classmethod
def setUpTestData(cls):
ef = EasyFixture(FIXTURE_DICT)
ef.load_into_testcase()
TestCase.setUpTestData()

def tes_what_you_want(self):
pass


**deprecate**

.. code-block:: python

from easy_fixture.easy_fixture import FixtureFileGen

class MyCase(TestCase):
fixtures = FixtureFileGen(['my.fixture.template.module'])

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-easy-fixture, version 0.3.0
Filename, size File type Python version Upload date Hashes
Filename, size django_easy_fixture-0.3.0-py2.py3-none-any.whl (6.7 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size django-easy-fixture-0.3.0.tar.gz (13.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page