def _get_queryset(self): if not bool(self._queryset): if self.queryset: qs = self.queryset else: qs = self.model._default_manager.all() qs = qs.filter(*self.filters, **self.kwfilters) if self.order_by is not None: qs = qs.order_by(*self.order_by) qs = qs.select_related() self._queryset = qs self.dependent_tables = get_tables_for_query(qs.query) return self._queryset
def test_get_tables_children_wherenode(self): qs = Permission.objects.filter(Q(name__startswith='a'), Q(content_type__name='*')) tables = get_tables_for_query(qs.query) self.assertEqual(tables, ['auth_permission', 'django_content_type'])
def test_get_tables_children(self): qs = Permission.objects.filter(name='*', content_type=ContentType.objects.filter(name='*')) tables = get_tables_for_query(qs.query) self.assertEqual(tables, ['auth_permission', 'django_content_type'])
def test_get_tables(self): qs = User.objects.filter(username='******') tables = get_tables_for_query(qs.query) self.assertEqual(tables, ['auth_user'])