On Sun, Jan 3, 2010 at 10:52 PM, Russell Keith-Magee
<freakboy3...@gmail.com> wrote:
> On Sun, Jan 3, 2010 at 4:06 PM, CB <cbw...@gmail.com> wrote:
>
>>> The
>>> default implementation would essentially be:
>>>
>>>     def db_from_related_object(self, instance):
>>>         return instance._state.db
>>
>> I'm not familiar with ._state and not sure if you're referencing
>> existing attributes on the manager, but I can see what you're getting
>> at.
>
> FYI: _state is the per-instance analog of _meta. It's an instance
> specific store of instance specific "state" - like the database that
> was used to source the object.
>
>>> Given
>>> that this is a fairly glaring hole in the API, I'm certainly open to
>>> providing a fix in the 1.2 timeframe.
>>
>> I'm not too familiar with when exactly this timeframe is - if it's
>> still a bit away and this doesn't count as a 'feature' (i.e., I have
>> maybe a week or so) I might try writing up a patch.
>
> The current timeframe targets a feature freeze on January 26th, with a
> full code freeze on March 2. If we can get something in place for the
> feature freeze, that would be ideal; depending on the exact nature and
> scope of the changes required, I might be able to convince people to
> let this sort of change in after the feature freeze.
>
>> We probably should name / detail these partitioning strategies so we
>> can discuss them easier:
>>
>> 1. Follow Original DB: Always resolve relations by staying on the same
>> DB as the source relation
>> 2. Force Model DB: Always resolve relations by using
>>
>> The code I posted above sticks with option 2, and treats an un-
>> dbassigned model as assigned to 'default'.
>
> There is an additional special case of (2) that is required by
> master/slave. Although objects may be retrieved from slave, they are
> really 'from' the master database, and two objects retrieved from
> different slaves are actually compatible. It was this use case that
> originally led to the cross-database checks being relaxed. At the
> time, there was discussion about adding a database setting to provide
> a point of commonality between databases.
>
> I appreciate that this particular use case doesn't affect your
> particular needs, but it should be kept in mind while we are working
> on the general data source problem.

Hi CB,

FYI - I've just uploaded a patch to #12540 that implements a strategy
similar to what I described. I'd be interested in hearing any feedback
you may have.

Yours,
Russ Magee %-)
-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.


Reply via email to