From f529d0cb5855db2dfc8d0d39850dbb4793bc75c2 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Sat, 28 May 2016 15:16:44 -0400 Subject: [1.10.x] Refs #24227 -- Fixed crash of ManyToManyField.value_from_object() on unsaved model instances. This behavior was removed in 67d984413c9540074e4fe6aa033081a35cf192bc but is needed to prevent a crash in formtools. Backport of a4c20ae85b40c49e28d1b2227208e4f00d7820df from master --- tests/model_fields/test_manytomanyfield.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tests/model_fields') diff --git a/tests/model_fields/test_manytomanyfield.py b/tests/model_fields/test_manytomanyfield.py index f368c18403..3134a33197 100644 --- a/tests/model_fields/test_manytomanyfield.py +++ b/tests/model_fields/test_manytomanyfield.py @@ -6,6 +6,14 @@ from django.test.utils import isolate_apps class ManyToManyFieldTests(SimpleTestCase): + @isolate_apps('model_fields') + def test_value_from_object_instance_without_pk(self): + class ManyToManyModel(models.Model): + m2m = models.ManyToManyField('self', models.CASCADE) + + instance = ManyToManyModel() + self.assertEqual(instance._meta.get_field('m2m').value_from_object(instance), []) + def test_abstract_model_pending_operations(self): """ Many-to-many fields declared on abstract models should not add lazy -- cgit v1.3