def test_query_update_does_not_allow_related_model_fields(self):
        objects = [MockModel(foo=MockModel(bar=1)), MockModel(foo=MockModel(bar=2))]
        qs = MockSet(*objects, model=create_model('foo'))

        target = dict(foo__bar=2)
        with self.assertRaises(FieldError) as cm:
            qs.update(**target)

        assert 'Cannot update model field \'{}\''.format(next(iter(target))) in str(cm.exception)
    def test_query_update_does_not_allow_related_model_fields(self):
        objects = [MockModel(foo=MockModel(bar=1)), MockModel(foo=MockModel(bar=2))]
        qs = MockSet(*objects, model=create_model('foo'))

        target = dict(foo__bar=2)
        with self.assertRaises(FieldError) as cm:
            qs.update(**target)

        assert 'Cannot update model field \'{}\''.format(next(iter(target))) in str(cm.exception)
    def test_query_update_with_multiple_values(self):
        objects = [MockModel(foo=1), MockModel(foo=2), MockModel(foo=3)]
        qs = MockSet(*objects, model=create_model('foo', 'bar'))

        set_foo, set_bar = 4, 5
        qs.update(foo=set_foo, bar=set_bar)

        for x in qs:
            assert x.foo == set_foo, x.foo
            assert x.bar == set_bar, x.bar
示例#4
0
    def test_query_update_with_multiple_values(self):
        objects = [MockModel(foo=1), MockModel(foo=2), MockModel(foo=3)]
        qs = MockSet(*objects, model=create_model('foo', 'bar'))

        set_foo, set_bar = 4, 5
        qs.update(foo=set_foo, bar=set_bar)

        for x in qs:
            assert x.foo == set_foo, x.foo
            assert x.bar == set_bar, x.bar