﻿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
26366	"Implicitly save related models as needed instead of raising ""unsaved related objects error"" on Model.save()"	aki33524	nobody	"
{{{
class Foo(models.Model):
  pass

class Bar(models.Model):
  foo = models.ForeignKey(Foo)

>>> foo = Foo()
>>> bar = Bar(foo=foo)

-------------------------
>>> bar.save()
...
ValueError: save() prohibited to prevent data loss due to unsaved related object 'foo'.

-------------------------
>>> foo.save()
>>> bar.save()
IntegrityError: NOT NULL constraint failed: t26366_bar.foo_id

-------------------------
>>> foo.save()
>>> bar.foo = bar.foo
>>> bar.save() 
(no errors)

}}}

This is very odd behavior.

And, when implementing `bar.save()` without `foo.save()`, I wish Django implemented `foo.save()` implicitly.
Like `QuerySet.delete()`, ON DELETE CASCADE emulation."	New feature	closed	Database layer (models, ORM)	1.9	Normal	wontfix			Unreviewed	0	0	0	0	0	0
