Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
    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)
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
    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)
Exemplo n.º 9
0
    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)
Exemplo n.º 10
0
    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)
Exemplo n.º 11
0
    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)
Exemplo n.º 12
0
    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)
Exemplo n.º 13
0
    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)
Exemplo n.º 14
0
    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)
Exemplo n.º 15
0
 def bulk_update(self, records):
     """Bulk update records to the database."""
     update_many(SourceEntity, records)
Exemplo n.º 16
0
 def bulk_update(self, records):
     """Bulk update records to the database."""
     update_many(Translation, records)
Exemplo n.º 17
0
 def bulk_update(self, records):
     """Bulk update records to the database."""
     update_many(SourceEntity, records)
Exemplo n.º 18
0
 def bulk_update(self, records):
     """Bulk update records to the database."""
     update_many(Translation, records)