Dear Carl,

On Tuesday, February 2, 2016 at 7:51:20 PM UTC, Carl Meyer wrote:
>
>
> There's nothing wrong with connections[options.get('database')] if you 
> want to get a specific database connection object; that's public API and 
> you can use it. In the case of the built-in commands, that's useful 
>

OK, perhaps I misunderstood what you said in an earlier comment - I see you 
were talking against using the *internals* of the connection rather the 
connection itself.

because they need to do low-level things with the connection; I don't 
> think it helps you for regular ORM use. It doesn't allow changing the 
> default connection for ORM usage. Where the built-in management commands 
> do use the higher-level ORM, they use the public `using` APIs. 
>
 
That's fine for simple use, but it's not good have lots of using() calls 
for models when it's not a "real" multi-DB scenario,
 

> If you want to write a management command that has a --database option 
> like the built-in ones and makes heavy use of the ORM, you can a) 
> explicitly provide `using` where needed , b) use 
> django-dynamic-db-router, or c) hold your nose and monkeypatch 
> DEFAULT_DB_ALIAS, since it's just a one-shot management command and you 
> don't need to be as concerned about cleaning up after yourself. 
>
> Personally I would go for (a) or (b), depending on just how much I was 
> using the ORM in the management command. I'm not convinced that a fourth 
> (or third supported public) option is necessary here. If it's just a few 
> queries, you use `using`, if it's more than that and you want a broader 
> policy applied, you use a database router. 
>
 
OK, thanks for the suggestion - you've been very helpful, as always. I'll 
mull things over and see what's the best for the specifics of the specific 
project.

Regards,

Vinay Sajip

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/832b093d-1d5a-4d24-9125-9eeb9297bbd0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to