On Sep 26, 2013, at 2:32 PM, Carl Meyer <[email protected]> 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
   [email protected]

-- 
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 [email protected].
To post to this group, send email to [email protected].
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