Django's dumpdata management command allows you to dump objects from a given application, but sometimes you'll want to extract all objects of a given model from a much larger file containing objects from many models.
This package provides the jsonfilter.py commandline utility, which will allow you to do just that.
Ultimately the idea would be to also add options to be able to search on different model fields to extract the objects you want before importing them again into the database.
Although it loads the entire json in memory, it's actually quite fast. On a 41.6MB json file containing 131515 objects, it takes about 3s to extract 10341 objects of a given type. The 3s is actually fairly constant, however many objects there are of the model it's extracting.
See jsonfilter.py --help for usage.
You can install this package through easy_install and pip.
© Copyright 2010 Éric St-Jean, email: esj a-t w w d d-o-t c a
This file is part of django-jsonfilter.
django-jsonfilter is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
django-jsonfilter is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with django-jsonfilter. If not, see <http://www.gnu.org/licenses/>.