Hi all, I just wrote 2 mails about myself and my wish to participate in GSoC as a Django student. Sorry if I am spamming your inboxes. I just want to keep my mails short so people who don't want to read everything in there can skip the mails that are irrelevant to them. Please correct me where ever I am wrong and if I am not doing it the way it must be done here in Django.
I hope I understand what Malcolm and Jacob meant when they said this. We make changes because there are use-cases > for them, not because we can. So any proposal should > be driven by trying to fix some existing problem, not > creating a "wouldn't it be nice if...?" situation. I want to work on Serialization Refactor for GSoC. Since what the Django community requires exactly from that idea is still not clear to me, I am requesting any of you to explain a bit on what is expected of that project? In the mean time, before I get the response let me add few more ideas to it. I am proposing this idea as a Django user initially, opening it up for discussion for the rest of the community. I personally feel this is a missing feature in Django and want to see it happen as a "Django user" for sure. (Also please tell me if it is worth opening a ticket on this and sending this idea to Django users list as well for additional feedback? ) Let me begin my idea with an interesting Use Case I have as a Django User(Hope many other users would have felt the same). I am not sure if this already exists in Django. I assume it doesn't from what I have learnt. Please correct me if I am wrong. I have a Web app written in Django which gets its data in a Serialized format. The data source is actually a third- party script which fetches an HTML page from a website parses the data and supplies it in json format to us. (The page parsed is actually an University Result sheet, for which the script has no access to its results Database). I now want to store this data into my Database. But along with the data provided by JSON I need to add some additional administration stuff into the database table for each serialized data I get. One can easily ask me, why can't I use deserialization. But the problem here as I have understood(may be I am wrong, please correct me if so) is, whenever I deserialize the stream data I get, I can only obtain a DeserializedObject that contains a Django object which should contain the full Model data including any PK fields that exist in the model, but not the subset of fields. This is not the case here. I just want to make the Serialized data, I get, a part of the Database Table, say a subset of fields in the table along with other fields too, for example like the time at which this data was recorded in the Database, some indexing stuff among other things. One can also ask me to write a Custom Field which stores the serialized data in a String (i.e as varchar) format or something like that. But from what I understand (from the docs) I can use custom fields for single fields but not for data that must be split over several fields. Thats exactly what is required here, since I get the marks in JSON, I must able to obtain class average over a particular subject and stuff which becomes difficult if I store JSON data as string. Since I need to deserialize the entire string each time I need access to a single field in it. So the solution that appears to me now is to add a Serialization Field support to Django Models. Say something like JSONField and provide Meta Data for the JSON Field Structure in some way, say defining a class for its structure (as we do for ModelAdmin) or providing this in Class Meta inside the Model Definition. This can be done since we will already, at least, know what will be the format of serialized data we recieve (quite obvious, we need to know this, since we cannot process any random serialized data). Hope this is somewhat similar in idea to what is pointed out as ModelAdmin in the ideas list on the wiki page. I would like to add support for JSON and Python serialization through this project during Summer Of Code period and take take up XML and YAML post GSoC since I feel if we include those also it would be too much for 12 weeks project. Just my estimate :( Python Serialization support has another interesting use case I feel. If we allow Python buitin types, at least types like lists, tuples and dictionary fields in Django Models, we will be providing the highest level of Object Oriented Abstraction for Relational Databases. We will make the lives of Django users easier by allowing them to use those Python types easily without having to worry too much about Normalization. But how we implement them will also be interesting and tricky. It obviously requires many design decisions from Django Community. One idea that I get now is to apply the same kind of Normalization we apply to the list of values we have to put it into a Relational Database, like creating a new table for list items and creating a foreign key relationship from that table to the original table. Just a thought. Seems like this too became one big huge post :( But I wanted to explain the idea I had in mind and get feedback from the community. Please tolerate me. I am sincerely expecting your invaluable feedback. Please ping me if you want any more details on this or if else you want to FLAME me ;-) Hope I have convinced you people with my idea. I am still waiting for more details about "Serializaztion refactor". What I have said above is just an addition to Serialization support, hope both of them will be somewhat related. Thanks for all your time. I keep my fingers crossed hoping similar use cases exist to good number of users ;-) -- Thanks and regards, Madhusudan.C.S Blogs at: www.madhusudancs.info Official Email ID: madhusu...@madhusudancs.info --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-developers?hl=en -~----------~----~----~----~------~----~------~--~---