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?

--
-- Christophe Pettus
   x...@thebuild.com

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