Skip to content

Instantly share code, notes, and snippets.

@l4sh
Created October 23, 2017 21:18
Show Gist options
  • Save l4sh/ce2bfeb7604784b9b5e995f27e00d46e to your computer and use it in GitHub Desktop.
Save l4sh/ce2bfeb7604784b9b5e995f27e00d46e to your computer and use it in GitHub Desktop.
Dump objects from django database
import json
from uuid import UUID
from django.core import serializers
from django.core.management.base import BaseCommand, CommandError
from django.apps import apps
class Command(BaseCommand):
help = 'Dumps the specified model data to stdout'
def add_arguments(self, parser):
parser.add_argument('app_name', type=str)
parser.add_argument('model_name', type=str)
parser.add_argument('--filter', type=json.loads)
def handle(self, *args, **kwargs):
model = apps.get_model(kwargs['app_name'], kwargs['model_name'])
querydict = kwargs.get('filter') or {}
objects = model.objects.filter(**querydict)
data = serializers.serialize('json', objects)
print(data)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment