|
@@ -10,6 +10,7 @@ from .models import (
|
|
|
Base,
|
|
|
Chef,
|
|
|
CommonInfo,
|
|
|
+ CustomSupplier,
|
|
|
GrandChild,
|
|
|
GrandParent,
|
|
|
ItalianRestaurant,
|
|
@@ -191,6 +192,22 @@ class ModelInheritanceTests(TestCase):
|
|
|
sql = query["sql"]
|
|
|
self.assertIn("INSERT INTO", sql, sql)
|
|
|
|
|
|
+ def test_create_copy_with_inherited_m2m(self):
|
|
|
+ restaurant = Restaurant.objects.create()
|
|
|
+ supplier = CustomSupplier.objects.create(
|
|
|
+ name="Central market", address="944 W. Fullerton"
|
|
|
+ )
|
|
|
+ supplier.customers.set([restaurant])
|
|
|
+ old_customers = supplier.customers.all()
|
|
|
+ supplier.pk = None
|
|
|
+ supplier.id = None
|
|
|
+ supplier._state.adding = True
|
|
|
+ supplier.save()
|
|
|
+ supplier.customers.set(old_customers)
|
|
|
+ supplier = Supplier.objects.get(pk=supplier.pk)
|
|
|
+ self.assertCountEqual(supplier.customers.all(), old_customers)
|
|
|
+ self.assertSequenceEqual(supplier.customers.all(), [restaurant])
|
|
|
+
|
|
|
def test_eq(self):
|
|
|
# Equality doesn't transfer in multitable inheritance.
|
|
|
self.assertNotEqual(Place(id=1), Restaurant(id=1))
|