I just wanted to mention that I am wrapping up a new Django site after 7 months of development. It will be used to manage subscriptions for a magazine published by a Norwegian university. So far it does not have a public interface so I won't give out the link here (all you would see is a log-in screen anyway).
So why am I posting this then? I just want to make a few comments about Django from the perspective of someone who has learned Django well enough to implement a serious site and who has also had experience with competing products. I will not mention other products because I don't think that would be useful here. In fact, I will limit my comments to just the following: 1. Django is a fantastic framework. I personally believe that this is because some very talented developers have made some very good choices, including the programming language, Python. 2. I am very much looking forward to the new forms module. It is needed, and I am confident that it will be implemented well because just about everything else so far has been done well. 3. My only serious request involves the DB API. The Django ORM is simply too limiting. I was not able to do what I wanted without jumping through hoops. I was forced to use the: extra( where=..., params=..., tables=...) QuerySet method often, and found that when this method is combined with the other QuerySet methods (filter, exclude, ...) the combined SQL query generated by Django often did not do what was expected. In short, my feeling is that the Django ORM *must* be improved to handle more general query requirements, especially more sophisticated JOINs across any number of tables. A complex database often requires complex queries, and it is not possible to reduce such queries to a form that can be expressed with the current simple Django ORM. In *addition*, I hope that the Django SQLAlchemy branch is successful in its attempt provide a more sophisticated ORM for Django developers. But this must be done in *addition* to improving Django's default ORM. If Django's default ORM cannot be improved beyond its current state, then I would vote for removing it as the default ORM and replacing it with something more capable. I would retract this recommendation if the new SQLAlchemy branch is fully compatible with the current Django ORM - I have not heard enough about this new branch to know if this is a design goal or not. The Django ORM is probably the only piece of Django I am embarrassed showing other developers. Of course, I am referring here to the cases where the default QuerySet ORM methods are not sufficient for expressing the necessary queries - for simple cases, the default Django ORM is elegant. I realize that many people are probably happy with the default ORM because not all applications have serious database requirements, but for me it is the single most limiting feature of Django. I will not be satisfied if the current ORM is capable of fulfilling 95% requirements if the last 5% requires several days of additional pain (and sluggish results). Dropping down to raw SQL does not solve the problem because using raw SQL with existing QuerySets and then generating new QuerySets is awkward and slow for large QuerySets (the usual "impedance-mismatch" between the relational-model and the object-model). Perhaps the Django developers can provide some general tools for integrating arbitrary SQL with Django QuerySets, since it will still surely be necessary to drop down to raw SQL occasionally even with an improved ORM. That is my 2 cents. I would like to finish by encouraging the Django developers to continue in the same direction they have started. I will continue to use Django wherever it is suitable for the job - and I am confident that will be often! Jeffrey --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---