On 30/06/12 20:25, Jacob Kaplan-Moss wrote:

> Before we do get too deep into this, however, I want to talk about
> this "Django 2.0" thing:
> 
> Clearly there will be something called "Django 2.0" at some point --
> after 1.9, if we get there, comes 2.0. However, I think it would be a
> mistake to make "Django 2.0" backwards-incompatible. We've seen
> countless examples -- Perl 6, Python 3, Rails 3, ... -- that these
> sorts of "breaks from the past" really alienate and frustrate the
> community. Over the years we've actually gotten really good at
> balancing forward motion with stability. Our reputation as a stable,
> reliable platform is something I'm intensely proud of.
> 
> It's going to take a lot of work to convince me of the value of a
> "break from the past" sort of approach. If this can't be done in a way
> that promises a smooth upgrade path... I'm not sure it's worth doing.

That's exactly the approach I had in making this proposal. The only
publicly documented API that I'm expecting to break or be removed is
QuerySet.extra(), and none of us like that anyway.

The internals I expect will break:

 - anything that relies on manipulating QuerySet.query (I've got one
project where I do that a little bit, I've not seen anyone else do it).

 - DB backend implementations that provide their own SQLCompiler
classes. Actually most external DB backends would probably break.

I'm *not* expecting the vast majority of Model._meta to change in big
ways, which is the biggest 'internal' that people regularly use. Since
it isn't to do with query generation, it doesn't need to change.

Of course, reality can have other ideas with big changes like this, but
that's what I would be aiming for.

For the things that will break, I hope they would be replaced by much
more appealing options - QuerySet.query would be replaced by the
QuerySet.as_sqlalchemy() method that Anssi mentioned, and you won't need
most 3rd party DB backends, or can plug them in via SQLAlchemy's
extension points, which are cleaner than ours from what I can see.

Luke

-- 
Parenthetical remarks (however relevant) are unnecessary

Luke Plant || http://lukeplant.me.uk/

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

Reply via email to