On 5/3/06, falcon <[EMAIL PROTECTED]> wrote: > By users I meant users of the Django framework, not end-users. Since > my last post I came across a few models (the ones you suggested) that > do have a great deal more logic than I expected. I still believe that > many 'developers' could benefit from defining simple to moderately > complex models on the web. If code needs to get more complex, > developers can just switch back to using models.py.
And I still really think it's something that would, in the end, lead to sloppy model design (because of the "oh, we can just go back into the web interface and fix it") and rash decision making. Also, if it's *possible* to create and edit models through a web interface, a CEO somewhere is going to demand that his user account have permissions to do so. So long as it requires writing Python code (and not particularly difficult Python code at that), this won't be a problem ;) Also I really don't think there's any way to do this that would truly do justice to the possibility of Django's model system without becoming more confusing and complex than writing a few lines of clean Python code -- look back through the model documentation sometime and glance at just how many options are available (not just in terms of field types, but in the optional arguments they can take). > As far as I can tell, part of Django's motivation is that the > repetitive parts of the development cycle should be made easy and > quick. I have written many applications which were nothing more than > taking data form a database and putting it on the web...nothing > complex. Something like what I propose would make web apps trivial. > As far as developers getting bad habits because of the ease of creating > and changing models...doesn't that make Django itself Bad(TM)? Grabbing records from the database is something that has to happen thousands of times over the course of an application's life, so Django makes it easy and automatic to do that. Passing data into a template is something that has to happen thousands of times over the course of an application's life, so Django makes it easy and automatic to do that. Defining the data models is something that only happens a few times (and, hopefully, really only once or twice) over an application's lifetime, so the level of "triviality" isn't as high here -- it's an important, fundamental thing which significantly affects the application, and I think having to write a few lines of Python is a good way of reminding developers of that. And Django already makes it trivial to write a generic web application. Django doesn't make it trivial to change an existing model with data already stored in the DB (and despite repeated discussions of schema evolution techniques, I'm still not 100% certain it ever should). And, really, writing a few lines of Python isn't a terrible burden for a developer working with a Python framework. As much as I like some of the promotion Django has been getting this week as a framework that's easy for non-programmers, I think that if you're doing anything serious with it you should have someone who's a programmer. > I wasn't able to find an outline of the most important classes and how > they relate to each other, from the perspective of a django framework > developer. Read the model definitions ;) Seriously, though, that's something to be addressed through documentation, not through web-based model creation. -- "May the forces of evil become confused on the way to your house." -- George Carlin --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---