Hi Christophe,

On 09/26/2013 04:28 PM, Christophe Pettus wrote:
> On Sep 26, 2013, at 2:32 PM, Carl Meyer <c...@oddbird.net> wrote:
>> We already provide the on_delete=DO_NOTHING option for people who
>> want to push cascade handling to the database.
> 
> It's better than the previous situation, but the steps required to
> make this work make it a non-starter for any but the most trivial of
> projects.  I do, however, accept that we're painted into a corner
> with the current API.
> 
> I would strongly advocate for a way of doing this push, however: It's
> much more efficient for cascading without exotic additions such as
> signals.  The current way one has to do it has several problems:
> 
> 1. You are, in essence, lying in your model about what is going to
> happen, by saying on_delete=DO_NOTHING and then doing something in
> the database itself.
> 
> 2. Since Django creates the foreign key constraints and gives them
> unpredictable names, you have to write a very tedious, error-prone
> South migration to install the appropriate foreign key constraints,
> something that Django could very easily do.
> 
> Perhaps a CASCADE_DB and SET_NULL_DB options on on_delete?

Agreed on all counts. Presuming that the documentation is clear about
the tradeoffs, I think these could be very nice additions to save some
of that tedium and make in-db cascade easier to achieve.

Carl

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" 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.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to