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