﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
12899	Explicitly allow to keep alive objects after deleting related ForeignKey object instance	Alexey Kinyov	nobody	"Sometimes relation between objects needs to be 'weak': on deleting 'parent' object we should define some 'fallback' keeping 'children' instanses alive.

It would look like this:

{{{
#!python

class MyModel(Model):
    user = ForeignKey(User, blank=True, null=True, weak=True)
}}}

or 

{{{
#!python

def get_or_create_default_user(instance):
    # some project specific logic here to define
    # default user for MyModel instace
    # ...
    return user

class MyModel(Model):
    user = ForeignKey(User, default=get_or_create_default_user, weak=True)
}}}

This will help prevent tricks with signal 'pre_delete' #6870.

Suggested processing of 'weak' relation: just before deleting 'parent' all related 'weak' relations must be set to default. If 'parent' is the same as default, then deleting of related objects will occur anyway. If not, related objects will survive :)
"		closed	Database layer (models, ORM)	1.2-beta		duplicate	foreignkey, relations		Unreviewed	0	0	0	0	0	0
