def test_save_modelform(self): mform1 = modelform_factory(model=Example, fields=['a', 'b'])({'a': 'a', 'b': 2}) mform2 = modelform_factory(model=Example2, exclude=['d'])({'c': 'c'}) instances = [mform1, mform2] form = CompositeModelForm(form_instances=instances) form.save() self.assertEquals(Example.objects.filter(a='a', b=2).count(), 1) self.assertEquals(Example2.objects.filter(c='c').count(), 1)
def test_save_rollback(self): mform1 = modelform_factory(model=Example, fields=['a', 'b'])({'a': 'a'}) mform2 = modelform_factory(model=Example2, exclude=['d'])({'c': 'c'}) instances = [mform1, mform2] form = CompositeModelForm(form_instances=instances) self.assertRaises(ValueError, lambda: form.save()) self.assertEquals(Example.objects.count(), 0) self.assertEquals(Example2.objects.count(), 0)