Hello,

In Djnago 1.7 Manager class extends BaseManager (actually, it extends its 
proxy, created using from_queryset). BaseManager is not mentioned in 
official documentation, so it is not part of official ("stable") api, right?

"All the public APIs (everything in this documentation) " (from here 
https://docs.djangoproject.com/en/dev/misc/api-stability/)

But it does not start with underscore and its module 
(django.db.models.manager) is public module aswell. So, it should be 
considered as public class according to python codestyle. 
I believe this fact confuses user. May one use BaseManager or minor api 
change may brake such usage?

The other problem is there is no official Manager reference: there is a 
good manual, but no reference where all methods are listed (like we have 
for QuerySet, for example).

So, what is the official, stable Manager API? Most developers know answer 
to this question intuitively, but there is no formal way to answer it, 
right?

I believe that in Ideal Project there should be something like this:
1) Move all "non public" classes to "_non_public" packages (or make classes 
_NonPublic)
2) For each public class list all members in doc or directly in python 
documentation. 

What do you think?

Ilya.

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To post to this group, send email to django-developers@googlegroups.com.
Visit this group at http://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/2353707c-f7a0-4160-8ef5-c4f918d13383%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to