Source code for djenerator.djenerator

#!/usr/bin/env python
"""
Module for the exportable functions for djenerator.
"""
from django.core import management
from django.db import connection
from generate_test_data import generate_test_data


[docs]def djenerator(app_path, size, output_file, **size_options): """ Generates a sample data for all models in a given app and exports the data to a json file. If the file object given is None, then the data will be dumped in the current database. (A temporary database is created otherwise, while generating the data.) :param str app_path: The path of the app. :param int size: The number of models generated for each model in the models. :param File output_file: A file in which the data will be dumped. :param dict size_options: A dictionary that maps str:model_name to int:model_size, which is the number of generated instances for the model. If a model isn't in size_options, then the default 'size' will be used. :rtype: None """ if output_file: db_name = connection.creation.create_test_db() generate_test_data(app_path + '.models', size, **size_options) if output_file: management.call_command('dumpdata', app_path, stdout=output_file, indent=2)