def from_queryset(cls, queryset_class, class_name=None): # This is overridden because :py:meth:`models.Manager.from_queryset` # uses `inspect` to retrieve the class methods, and the proxy class has # no direct members. queryset_class = get_override_class(VersionQuerySet, VersionQuerySet._default_class) return super(VersionManager, cls).from_queryset(queryset_class, class_name)
def from_queryset(cls, queryset_class, class_name=None): # This is overridden because :py:meth:`models.Manager.from_queryset` # uses `inspect` to retrieve the class methods, and the proxy class has # no direct members. queryset_class = get_override_class( BuildQuerySet, BuildQuerySet._default_class, # pylint: disable=protected-access ) return super().from_queryset(queryset_class, class_name)
def from_queryset(cls, queryset_class, class_name=None): # This is overridden because :py:meth:`models.Manager.from_queryset` # uses `inspect` to retrieve the class methods, and the proxy class has # no direct members. queryset_class = get_override_class( VersionQuerySet, VersionQuerySet._default_class # pylint: disable=protected-access ) return super(VersionManagerBase, cls).from_queryset(queryset_class, class_name)
def test_with_advanced_override_only(self): """Test class with no `override_setting`""" class Foo(SettingsOverrideObject): _default_class = FooBase foo = Foo() self.assertEqual(foo.__class__.__name__, 'NewFoo') self.assertEqual(foo.bar(), 2) override_class = get_override_class(Foo, Foo._default_class) self.assertEqual(override_class, NewFoo)
def test_with_advanced_override_only(self): """Test class with no `override_setting`""" class Foo(SettingsOverrideObject): _default_class = FooBase foo = Foo() self.assertEqual(foo.__class__.__name__, 'NewFoo') self.assertEqual(foo.bar(), 2) self.assertEqual(Foo.baz(), 2) override_class = get_override_class(Foo, Foo._default_class) self.assertEqual(override_class, NewFoo)
def test_with_advanced_override(self): """Test class with override using `CLASS_OVERRIDES`""" class Foo(SettingsOverrideObject): _default_class = FooBase _override_setting = 'FOO_OVERRIDE_CLASS' foo = Foo() self.assertEqual(foo.__class__.__name__, 'NewFoo') self.assertEqual(foo.bar(), 2) override_class = get_override_class(Foo, Foo._default_class) self.assertEqual(override_class, NewFoo)
def test_with_basic_override(self): """Test class override setting defined""" class Foo(SettingsOverrideObject): _default_class = FooBase _override_setting = 'FOO_OVERRIDE_CLASS' foo = Foo() self.assertEqual(foo.__class__.__name__, 'NewFoo') self.assertEqual(foo.bar(), 2) override_class = get_override_class(Foo, Foo._default_class) self.assertEqual(override_class, NewFoo)
def test_no_override(self): """Test class without override""" class Foo(SettingsOverrideObject): _default_class = FooBase _override_setting = 'FOO_OVERRIDE_CLASS' foo = Foo() self.assertEqual(foo.__class__.__name__, 'FooBase') self.assertEqual(foo.bar(), 1) override_class = get_override_class(Foo, Foo._default_class) self.assertEqual(override_class, FooBase)
def test_with_advanced_override(self): """Test class with override using `CLASS_OVERRIDES`""" class Foo(SettingsOverrideObject): _default_class = FooBase _override_setting = 'FOO_OVERRIDE_CLASS' foo = Foo() self.assertEqual(foo.__class__.__name__, 'NewFoo') self.assertEqual(foo.bar(), 2) self.assertEqual(Foo.baz(), 2) override_class = get_override_class(Foo, Foo._default_class) self.assertEqual(override_class, NewFoo)
def test_no_override(self): """Test class without override""" class Foo(SettingsOverrideObject): _default_class = FooBase _override_setting = 'FOO_OVERRIDE_CLASS' foo = Foo() self.assertEqual(foo.__class__.__name__, 'FooBase') self.assertEqual(foo.bar(), 1) self.assertEqual(Foo.baz(), 1) override_class = get_override_class(Foo, Foo._default_class) self.assertEqual(override_class, FooBase)
def test_with_basic_override(self): """Test class override setting defined.""" class Foo(SettingsOverrideObject): _default_class = FooBase _override_setting = 'FOO_OVERRIDE_CLASS' foo = Foo() self.assertEqual(foo.__class__.__name__, 'NewFoo') self.assertEqual(foo.bar(), 2) self.assertEqual(Foo.baz(), 2) override_class = get_override_class(Foo, Foo._default_class) self.assertEqual(override_class, NewFoo)
def from_queryset(cls, queryset_class, class_name=None): queryset_class = get_override_class( HTMLFileQuerySet, HTMLFileQuerySet._default_class, # pylint: disable=protected-access ) return super().from_queryset(queryset_class, class_name)