Hello,
My name is Collin Anderson and I am interested in participating in
Google Summer of Code for django. I am a junior at the University of
Minnesota studying computer science. My idea is inspired by a
suggestion on the 2006 Summer of Code ideas list:
"add dabbledb (http://dabbledb.com/utr/) like functionality to the
django admin. e.g. create a project and super user with one command
line statement, fire up the development web server, and
import/create/refine your model using live data from directly within
the django auto admin."
The rough idea is to make it easier to auto-generate models from
existing data.
To start out, I would make an "inspectfile" command, similar to the
"inspectdb" command. It would take a csv or a simple json or xml file,
determine the field types, and output a model for the data. I figure
that this would be even smarter than the inspectdb and also attempt to
detect email, phone number, URL, etc field types. I would then also
add the more specific field detection to inspectdb.
The next step would be to extend inspectfile to be able to handle more
structured json and xml data that would require multiple models. This
would be a little harder, but it can be done.
The third step would be to create a web interface to aid in the
creation of the model. There are three features that would take
advantage of user interaction. The first would be the ability to paste
in data from a spreadsheet. The second would be the ability to change
the field types before they are outputted. The third would be the
ability to create foreign keys with already existing models.
Part of the inspiration of this came from James Bennett's talk on
Database-driven journalism [1] where the journalist would get data in
tables, create models for the data, and then import the data into
django. This could speed up one step of that process. Another
application of this would be the ability to take an xml feed on the
web and get a rough django model from it.
Any thoughts? Should I also post this to django-developers?
Thanks,
Collin Anderson
cmawebs...@gmail.com
[1] http://www.b-list.org/weblog/2008/mar/16/slides/