diff options
| author | Anssi Kääriäinen <akaariai@gmail.com> | 2013-08-07 09:51:32 +0300 |
|---|---|---|
| committer | Anssi Kääriäinen <akaariai@gmail.com> | 2013-08-19 09:51:28 +0300 |
| commit | 4668c142dce77c6f29fb75532c1acfa1b2d322ff (patch) | |
| tree | 0d4bfb51d43879c9e0410e42152542a3c78e828d /tests | |
| parent | 40909826172374b849ddc9db8e1a8be9a8c3251b (diff) | |
Made Model.__eq__ consider proxy models equivalent
Fixed #11892, fixed #16458, fixed #14492.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/basic/tests.py | 4 | ||||
| -rw-r--r-- | tests/defer/tests.py | 6 | ||||
| -rw-r--r-- | tests/model_inheritance/tests.py | 5 | ||||
| -rw-r--r-- | tests/proxy_models/tests.py | 3 |
4 files changed, 18 insertions, 0 deletions
diff --git a/tests/basic/tests.py b/tests/basic/tests.py index 55ed6a436f..2b051621ef 100644 --- a/tests/basic/tests.py +++ b/tests/basic/tests.py @@ -707,6 +707,10 @@ class ModelTest(TestCase): with self.assertRaises(ObjectDoesNotExist): SelfRef.objects.get(selfref=sr) + def test_eq(self): + self.assertNotEqual(Article(id=1), object()) + self.assertNotEqual(object(), Article(id=1)) + class ConcurrentSaveTests(TransactionTestCase): diff --git a/tests/defer/tests.py b/tests/defer/tests.py index 1df312e1bf..b66b173f7a 100644 --- a/tests/defer/tests.py +++ b/tests/defer/tests.py @@ -183,3 +183,9 @@ class DeferTests(TestCase): with self.assertNumQueries(0): bc_deferred.id self.assertEqual(bc_deferred.pk, bc_deferred.id) + + def test_eq(self): + s1 = Secondary.objects.create(first="x1", second="y1") + s1_defer = Secondary.objects.only('pk').get(pk=s1.pk) + self.assertEqual(s1, s1_defer) + self.assertEqual(s1_defer, s1) diff --git a/tests/model_inheritance/tests.py b/tests/model_inheritance/tests.py index eb50d30cf8..0ba6a15e5d 100644 --- a/tests/model_inheritance/tests.py +++ b/tests/model_inheritance/tests.py @@ -318,3 +318,8 @@ class ModelInheritanceTests(TestCase): sql = query['sql'] if 'UPDATE' in sql: self.assertEqual(expected_sql, sql) + + def test_eq(self): + # Equality doesn't transfer in multitable inheritance. + self.assertNotEqual(Place(id=1), Restaurant(id=1)) + self.assertNotEqual(Restaurant(id=1), Place(id=1)) diff --git a/tests/proxy_models/tests.py b/tests/proxy_models/tests.py index 240198cc39..3598d65935 100644 --- a/tests/proxy_models/tests.py +++ b/tests/proxy_models/tests.py @@ -362,6 +362,9 @@ class ProxyModelTests(TestCase): p = MyPerson.objects.get(pk=100) self.assertEqual(p.name, 'Elvis Presley') + def test_eq(self): + self.assertEqual(MyPerson(id=100), Person(id=100)) + class ProxyModelAdminTests(TestCase): fixtures = ['myhorses'] |
