Well, per discussion so far I've rolled the changes back [1] to simply
ensuring that the low-level query objects return usable counts. There was
discussion of whether delete should return counts for immediate objects only
or related as well, but I further decided to simply impose no API changes on
base Model for now.

[1]
https://github.com/estebistec/django/commit/f178b72af132dd1ba588b89fe6915f5e9ba841d0
--
Steven


On Sun, Oct 16, 2011 at 4:48 PM, Steven Cummings <estebis...@gmail.com>wrote:

> Any opinions from core devs before I go back and make adjustments, or are
> some waiting to see the patch before weighing in?
>
> --
> Steven
>
>
>
> On Thu, Oct 13, 2011 at 11:48 PM, Steven Cummings <estebis...@gmail.com>wrote:
>
>> On Thu, Oct 13, 2011 at 1:06 AM, Anssi Kääriäinen <
>> anssi.kaariai...@thl.fi> wrote:
>>>
>>> Now I have the feeling that I have gone through this exact same
>>> discussion before, and have had the exact same misunderstanding, too,
>>> before. So, sorry for that...
>>>
>>
>> It's cool. Better to make sure we're all clear here on the different
>> opinions and options.
>>
>>
>>>  > I think a reasonable option to discuss might be leaving the save() API
>>> as it
>>> > is and rolling this enhancement back to the internal code (i.e.,
>>> > UpdateQuery, DeleteQuery) returning counts to support the prospective
>>> > enhancements I've alluded to, and/or overrides of save(). Until there
>>> are
>>> > any changes to save(), I agree it is not going to be useful info.
>>> However
>>> > for delete it seems immediately usable (and then we're left with the
>>> debate
>>> > of counting immediate-only or including related objects).
>>>
>>> I would go with immediate only, with the ability to get the counts for
>>> cascaded deletes per object type as a kwarg option. The kwarg option
>>> could be left for later implementation. One reason for immediate only
>>> is that at least PostgreSQL and MySQL does it that way for ON DELETE
>>> CASCADE foreign keys. So, if you are getting the value from the cursor
>>> and using ON DELETE CASCADE instead of doing the cascade in Django,
>>> you will not get the cascade counts anyways. And even if you do the
>>> cascade in Django, then it would be consistent with what a SQL
>>> database would report.
>>
>>
>> Well, by those conventions and all of the feedback I've gotten so far,
>> counting only immediate objects in a delete seems like the best way.
>>
>>  Are there other opinions on this issue or the return value of save? Do
>> any core devs have insight into any potential changes in the ORM that would
>> be affected by this decision?
>>
>> Thanks.
>>
>
>

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