http://code.djangoproject.com/ticket/7539 suggests a way to add On 
Delete and On Update support to Django foreign key fields, and includes 
a patch that implements the suggestions. At the time I submitted it, 
getting Django 1.1 out the door prevented it from being seriously 
considered, but now that 1.2 is in the planning stages, how about it?

The ticket actually suggests several changes:

1) Adding an on_delete parameter to ForeignKey definitions and allowing 
it to specify CASCADE, SET_NULL, or RESTRICT behavior.

2) Modifying Django's built-in behavior, which currently always cascades 
deletes, to handle the new SET_NULL and RESTRICT behaviors. Django still 
defaults to CASCADE behavior for foreign keys that don't specify an 
on_delete parameter.

3) Allowing settings files to change the default on delete behavior from 
CASCADE to one of the other options for foreign keys that don't specify 
an on_delete parameter.

4) Allowing settings files to specify that the on_delete behavior should 
be handled by the database backend rather than by Django, and changing 
the SQL generated by Django to contain appropriate ON DELETE clauses.

5) Adding an on_update parameter to ForeignKey definitions. Unlike the 
on_delete parameter, the patch doesn't implement built-in emulation of 
on_update: on_update clauses are only handled by the database backend.


I believe that items 1-3 are in a form that is usable with little 
modification, and would like to suggest that at least this much be added 
to 1.2.

Items 4 and 5 would need more work to support more back ends before it 
makes sense to include them.

It might also be nice to have an implementation of item 5 that doesn't 
depend on the db backend, although this might require a significant 
amount of work.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@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