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
-~----------~----~----~----~------~----~------~--~---

Reply via email to