def test_nonpk_update(self): n = TestModelA(a="Test", b=1, c=2) n.save() n = TestModelA(a="Updated", b=1, c=4) update_many(TestModelA, [n], keys=['b']) self.assertEqual(1, TestModelA.objects.all().count()) n = TestModelA.objects.all()[0] self.assertEqual(n.a, "Updated") self.assertEqual(n.b, 1) self.assertEqual(n.c, 4)
def test_nonpk_update(self): n = TestModelA(a="Test", b=1, c=2) n.save() n = TestModelA(a="Updated", b=1, c=4) update_many(TestModelA, [n], keys=['b']) self.assertEqual(1, TestModelA.objects.all().count()) n = TestModelA.objects.all()[0] self.assertEqual(n.a, "Updated") self.assertEqual(n.b, 1) self.assertEqual(n.c, 4)
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_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_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)
def test_update_with_auto_now_add(self): """Do not update created field on update.""" n = TestModelAutoCreated(a="Test", b=1) n.save() n = TestModelAutoCreated.objects.all()[0] self.assertEqual(n.a, "Test") self.assertEqual(n.b, 1) self.assertTrue(n.created) n.b = 2 created = n.created update_many(TestModelAutoCreated, [n], keys=['a']) self.assertEqual(1, TestModelAutoCreated.objects.all().count()) n = TestModelAutoCreated.objects.all()[0] self.assertEqual(n.a, "Test") self.assertEqual(n.b, 2) self.assertEqual(created, n.created)
def test_update_with_auto_now_add(self): """Do not update created field on update.""" n = TestModelAutoCreated(a="Test", b=1) n.save() n = TestModelAutoCreated.objects.all()[0] self.assertEqual(n.a, "Test") self.assertEqual(n.b, 1) self.assertTrue(n.created) n.b = 2 created = n.created update_many(TestModelAutoCreated, [n], keys=['a']) self.assertEqual(1, TestModelAutoCreated.objects.all().count()) n = TestModelAutoCreated.objects.all()[0] self.assertEqual(n.a, "Test") self.assertEqual(n.b, 2) self.assertEqual(created, n.created)
def test_multi_update(self): set1 = [ TestModelA(a="Test1", b=1, c=2), TestModelA(a="Test2", b=3, c=4), TestModelA(a="Test3", b=5, c=6), ] insert_many(TestModelA, set1) self.assertEqual(3, TestModelA.objects.all().count()) set2 = [ TestModelA(a="Test1", b=7, c=8), TestModelA(a="Test2", b=9, c=10), TestModelA(a="Test3", b=11, c=12), ] update_many(TestModelA, set2, keys=['a']) self.assertEqual(3, TestModelA.objects.all().count()) for i in set2: n = TestModelA.objects.get(a=i.a) self.assertEqual(n.b, i.b) self.assertEqual(n.c, i.c)
def test_multi_update(self): set1 = [ TestModelA(a="Test1", b=1, c=2), TestModelA(a="Test2", b=3, c=4), TestModelA(a="Test3", b=5, c=6), ] insert_many(TestModelA, set1) self.assertEqual(3, TestModelA.objects.all().count()) set2 = [ TestModelA(a="Test1", b=7, c=8), TestModelA(a="Test2", b=9, c=10), TestModelA(a="Test3", b=11, c=12), ] update_many(TestModelA, set2, keys=['a']) self.assertEqual(3, TestModelA.objects.all().count()) for i in set2: n = TestModelA.objects.get(a=i.a) self.assertEqual(n.b, i.b) self.assertEqual(n.c, i.c)
def test_multikey_update(self): set1 = [ TestModelA(a="Test1", b=1, c=1), TestModelA(a="Test1", b=1, c=2), TestModelA(a="Test2", b=1, c=3), TestModelA(a="Test1", b=2, c=4), ] insert_many(TestModelA, set1) self.assertEqual(4, TestModelA.objects.all().count()) set2 = [ TestModelA(a="Test1", b=1, c=5), ] update_many(TestModelA, set2, keys=['a', 'b']) self.assertEqual(4, TestModelA.objects.all().count()) self.assertEqual(2, TestModelA.objects.filter(a="Test1", b=1).count()) for i in TestModelA.objects.filter(a="Test1", b=1): self.assertEqual(5, i.c) self.assertEqual(3, TestModelA.objects.get(a="Test2", b=1).c) self.assertEqual(4, TestModelA.objects.get(a="Test1", b=2).c)
def test_multikey_update(self): set1 = [ TestModelA(a="Test1", b=1, c=1), TestModelA(a="Test1", b=1, c=2), TestModelA(a="Test2", b=1, c=3), TestModelA(a="Test1", b=2, c=4), ] insert_many(TestModelA, set1) self.assertEqual(4, TestModelA.objects.all().count()) set2 = [ TestModelA(a="Test1", b=1, c=5), ] update_many(TestModelA, set2, keys=['a', 'b']) self.assertEqual(4, TestModelA.objects.all().count()) self.assertEqual(2, TestModelA.objects.filter(a="Test1", b=1).count()) for i in TestModelA.objects.filter(a="Test1", b=1): self.assertEqual(5, i.c) self.assertEqual(3, TestModelA.objects.get(a="Test2", b=1).c) self.assertEqual(4, TestModelA.objects.get(a="Test1", b=2).c)
def bulk_update(self, records): """Bulk update records to the database.""" update_many(SourceEntity, records)
def bulk_update(self, records): """Bulk update records to the database.""" update_many(Translation, records)
def bulk_update(self, records): """Bulk update records to the database.""" update_many(SourceEntity, records)
def bulk_update(self, records): """Bulk update records to the database.""" update_many(Translation, records)