def visit_attribute(self, node): if self._called_thru_default_qs(node) and not name_is_from_qs( node.attrname): self.add_message('no-member', node=node, args=('QuerySet instance', 'objects', node.attrname, ''))
def _is_custom_manager_attribute(node): """Checks if the attribute is a valid attribute for a queryset manager. """ attrname = node.attrname if not name_is_from_qs(attrname): return False for attr in node.get_children(): inferred = safe_infer(attr) funcdef = getattr(inferred, '_proxied', None) if _is_custom_qs_manager(funcdef): return True return False
def test_name_is_from_qs_false(): attrname = 'i_dont_exist' r = utils.name_is_from_qs(attrname) assert r is False
def test_name_is_from_qs_true(): attrname = 'filter' r = utils.name_is_from_qs(attrname) assert r is True