def test_no_update(self): n = TestModelA(a="Test", b=1, c=2) n.save() n.b = 3 n.c = 4 update_many(TestModelA, [n], keys=['c']) self.assertEqual(1, TestModelA.objects.all().count()) n = TestModelA.objects.all()[0] self.assertEqual(n.a, "Test") self.assertEqual(n.b, 1) self.assertEqual(n.c, 2)
def test_basic_update(self): n = TestModelA(a="Test", b=1, c=2) n.save() n.b = 3 n.c = 4 update_many(TestModelA, [n]) self.assertEqual(1, TestModelA.objects.all().count()) n = TestModelA.objects.all()[0] self.assertEqual(n.a, "Test") self.assertEqual(n.b, 3) self.assertEqual(n.c, 4)
def test_update_espefic_field(self): """Only update b field.""" n = TestModelA(a="Test", b=1, c=1) n.save() n = TestModelA.objects.all()[0] self.assertEqual(n.a, "Test") self.assertEqual(n.b, 1) self.assertEqual(n.c, 1) n.b = 2 n.c = 2 update_many(TestModelA, [n], keys=['a'], update_fields=['b']) n = TestModelA.objects.all()[0] self.assertEqual(n.a, "Test") self.assertEqual(n.b, 2) self.assertEqual(n.c, 1)
def test_update_exclude_field(self): """Exclude update b field""" n = TestModelA(a="Test", b=1, c=1) n.save() n = TestModelA.objects.all()[0] self.assertEqual(n.a, "Test") self.assertEqual(n.b, 1) self.assertEqual(n.c, 1) n.b = 2 n.c = 2 update_many(TestModelA, [n], keys=['a'], exclude_fields=['b']) n = TestModelA.objects.all()[0] self.assertEqual(n.a, "Test") self.assertEqual(n.b, 1) self.assertEqual(n.c, 2)