Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maximum semantic analysis iteration count reached error with django-stubs 5.0.3 & 5.0.4 #2373

Open
Alexerson opened this issue Sep 17, 2024 · 12 comments
Labels
bug Something isn't working

Comments

@Alexerson
Copy link
Contributor

Alexerson commented Sep 17, 2024

Bug report

What's wrong

When running django-stubs 5.0.2, mypy goes through without error. But when updating django-stubs to 5.0.3, I’m getting the following error:
error: INTERNAL ERROR: maximum semantic analysis iteration count reached.

The traceback is huge, and not really helping, so my next step is to have a minimal reproduction, but I wanted to raise the bug in case someone else is running into this as well. I’ll also try to review what’s happening between the 2 versions to understand where the issue can be.

System information

  • OS: Linux 6.10.5
  • python version:
  • django version: 5.0.9 (but same error with 5.1.1)
  • mypy version: 1.11.2 (but same error with 1.10.1)
  • django-stubs version: 5.0.3
  • django-stubs-ext version: 5.0.3

It works fine with:

  • django version 5.1.1
  • mypy version 1.11.2
  • django-stubs version 5.0.2
  • django-stubs-ext version 5.0.2
@Alexerson Alexerson added the bug Something isn't working label Sep 17, 2024
@flaeppe
Copy link
Member

flaeppe commented Sep 17, 2024

If I understand you correctly you can reproduce with the code you have? Essentially that your code triggers a regression between the versions?

Could you perhaps run a git bisect between 5.0.2 and 5.0.3 to pin point which commit introduced the issue?

You could also try out master to see if the issue exists there too.

@Alexerson
Copy link
Contributor Author

Correct. My next plan was indeed to do a git bisect but didn’t have plan to complete. Will do (hopefully) today.

@christianbundy
Copy link
Contributor

I'm having the same issue fwiw, it starts like this:

Deferral trace:
    django_stubs_ext.aliases:4
    django_stubs_ext.aliases:-1
    django_stubs_ext.aliases:5
    django_stubs_ext.aliases:-1
    django_stubs_ext.aliases:6
    django_stubs_ext.aliases:-1
    django_stubs_ext.aliases:9
    django_stubs_ext.aliases:9
    django_stubs_ext.aliases:-1
    django_stubs_ext.aliases:10
    django_stubs_ext.aliases:10
    django_stubs_ext.aliases:-1
    django.db.models.fields.proxy:5
    django.db.models.fields.proxy:5
    django.db.models.fields.proxy:5
    django.db.models.fields.proxy:5
    django.db.models.fields.proxy:5
    django.db.models.fields.proxy:5
    django.db.models.fields.proxy:5
    django.db.models.fields.proxy:5
    django.db.models.fields.proxy:5
    django.db.models.fields.proxy:5
    django.db.models.fields.proxy:5
    django.db.models.fields.proxy:-1
    django.template.loader_tags:4
    django.template.loader_tags:-1
    django.template.loader_tags:4
    django.template.loader_tags:-1
    django.template.loader_tags:4
    django.template.loader_tags:-1
    django.template.loader_tags:4
    django.template.loader_tags:-1
    django.template.loader_tags:4
    django.template.loader_tags:-1
    django.template.loader_tags:5
    django.template.loader_tags:-1
    django.template.loader_tags:8
    django.template.loader_tags:-1
    django.template.loader_tags:8
    django.template.loader_tags:-1
    django.template.loader_tags:14
    django.template.loader_tags:14
    django.template.loader_tags:21
    django.template.loader_tags:21
    django.template.loader_tags:21
    django.template.loader_tags:-1
    django.template.loader_tags:32
    django.template.loader_tags:32
    django.template.loader_tags:32
    django.template.loader_tags:-1
    django.template.loader_tags:48
    django.template.loader_tags:48
    django.template.loader_tags:48
    django.template.loader_tags:-1
    django.template.backends.jinja2:5
    django.template.backends.jinja2:-1
    django.template.backends.jinja2:6
    django.template.backends.jinja2:-1
    django.template.backends.jinja2:8
    django.template.backends.jinja2:-1
    django.template.backends.jinja2:10
    django.template.backends.jinja2:10
    django.template.backends.jinja2:10
    django.template.backends.jinja2:-1
    django.template.backends.jinja2:24
    django.template.backends.jinja2:24
    django.template.backends.django:4
    django.template.backends.django:-1
    django.template.backends.django:5
    django.template.backends.django:-1
    django.template.backends.django:6
    django.template.backends.django:-1
    django.template.backends.django:7
    django.template.backends.django:-1
    django.template.backends.django:9
    django.template.backends.django:-1
    django.template.backends.django:9
    django.template.backends.django:-1
    django.template.backends.django:11
    django.template.backends.django:11
    django.template.backends.django:11
    django.template.backends.django:-1
    django.template.backends.django:22
    django.template.backends.django:22
    django.template.backends.django:22
    django.template.backends.django:-1
    django.db.models.sql.datastructures:3
    django.db.models.sql.datastructures:-1
    django.db.models.sql.datastructures:4
    django.db.models.sql.datastructures:-1
    django.db.models.sql.datastructures:5
    django.db.models.sql.datastructures:-1
    django.db.models.sql.datastructures:5
    django.db.models.sql.datastructures:-1
    django.db.models.sql.datastructures:6
    django.db.models.sql.datastructures:-1
    django.db.models.sql.datastructures:6
    django.db.models.sql.datastructures:-1
    django.db.models.sql.datastructures:10
    django.db.models.sql.datastructures:10
    django.db.models.sql.datastructures:21
    django.db.models.sql.datastructures:21
    django.db.models.sql.datastructures:23
    django.db.models.sql.datastructures:23
    django.db.models.utils:4
    django.db.models.utils:-1
    django.core.files.images:3
    django.core.files.images:-1
    django.core.files.images:6
    django.core.files.images:6
    django.core.files.images:6
    django.core.files.images:-1
    django.conf.urls:6
    django.conf.urls:-1
    django.conf.urls:6
    django.conf.urls:-1
    django.conf.urls:7
    django.conf.urls:-1
    django.conf.urls:15
    django.conf.urls:15
    django.conf.urls:15
    django.conf.urls:15
    django.conf.urls:15
    django.conf.urls:15
    django.conf.urls:15
    django.conf.urls:15
    django.conf.urls:15
    django.conf.urls:-1
    django.db.backends.base.validation:3
    django.db.backends.base.validation:-1
    django.db.backends.base.validation:4
    django.db.backends.base.validation:-1
    django.db.backends.base.validation:7
    django.db.backends.base.validation:7
    django.db.backends.base.operations:9
    django.db.backends.base.operations:-1
    django.db.backends.base.operations:11
    django.db.backends.base.operations:-1
    django.db.backends.base.operations:13
    django.db.backends.base.operations:-1
    django.db.backends.base.operations:13
    django.db.backends.base.operations:-1
    django.db.backends.base.operations:13
    django.db.backends.base.operations:-1
    django.db.backends.base.operations:14
    django.db.backends.base.operations:-1
    django.db.backends.base.operations:15
    django.db.backends.base.operations:-1
    django.db.backends.base.operations:29
    django.db.backends.base.operations:29
    django.db.backends.base.introspection:5
    django.db.backends.base.introspection:-1
    django.db.backends.base.introspection:7
    django.db.backends.base.introspection:-1
    django.db.backends.base.introspection:18
    django.db.backends.base.introspection:18
    django.db.backends.base.features:4
    django.db.backends.base.features:-1
    django.db.backends.base.features:5
    django.db.backends.base.features:-1
    django.db.backends.base.features:6
    django.db.backends.base.features:-1
    django.db.backends.base.features:6
    django.db.backends.base.features:-1
    django.db.backends.base.features:7
    django.db.backends.base.features:-1
    django.db.backends.base.features:82
    django.db.backends.base.features:82
    django.db.backends.base.features:138
    django.db.backends.base.features:138
    django.db.backends.base.features:145
    django.db.backends.base.features:145
    django.db.backends.base.features:147
    django.db.backends.base.features:149
    django.db.backends.base.features:151
    django.db.backends.base.creation:3
    django.db.backends.base.creation:-1
    django.db.backends.base.creation:8
    django.db.backends.base.creation:8
    django.db.backends.base.client:4
    django.db.backends.base.client:-1
    django.db.backends.base.client:8
    django.db.backends.base.client:8
    django.core.files.storage.memory:3
    django.core.files.storage.memory:-1
    django.core.files.storage.memory:5
    django.core.files.storage.memory:-1
    django.core.files.storage.memory:8
    django.core.files.storage.memory:8
    django.core.files.storage.memory:8
    django.core.files.storage.memory:-1
    django.core.files.storage.handler:3
    django.core.files.storage.handler:-1
    django.core.files.storage.handler:4
    django.core.files.storage.handler:-1
    django.core.files.storage.handler:6
    django.core.files.storage.handler:-1
    django.core.files.storage.handler:8
    django.core.files.storage.handler:8
    django.core.files.storage.handler:8
    django.core.files.storage.handler:-1
    django.core.files.storage.handler:12
    django.core.files.storage.filesystem:3
    django.core.files.storage.filesystem:-1
    django.core.files.storage.filesystem:5
    django.core.files.storage.filesystem:-1
    django.core.files.storage.filesystem:8
    django.core.files.storage.filesystem:8
    django.core.files.storage.filesystem:8
    django.core.files.storage.filesystem:-1
    django.core.files.storage.base:4
    django.core.files.storage.base:-1
    django.db.models.sql.subqueries:4
    django.db.models.sql.subqueries:-1
    django.db.models.sql.subqueries:5
    django.db.models.sql.subqueries:-1
    django.db.models.sql.subqueries:6
    django.db.models.sql.subqueries:-1
    django.db.models.sql.subqueries:7
    django.db.models.sql.subqueries:-1
    django.db.models.sql.subqueries:8
    django.db.models.sql.subqueries:-1
    django.db.models.sql.subqueries:10
    django.db.models.sql.subqueries:10
    django.db.models.sql.subqueries:10
    django.db.models.sql.subqueries:-1
    django.db.models.sql.subqueries:17
    django.db.models.sql.subqueries:17
    django.db.models.sql.subqueries:17
    django.db.models.sql.subqueries:-1
    django.db.models.sql.subqueries:28
    django.db.models.sql.subqueries:28
    django.db.models.sql.subqueries:28
    django.db.models.sql.subqueries:-1
    django.db.models.sql.subqueries:38
    django.db.models.sql.subqueries:38
    django.db.models.sql.subqueries:38
    django.db.models.sql.subqueries:-1
    django.template.backends.base:4
    django.template.backends.base:-1
    django.template.backends.base:5
    django.template.backends.base:-1
    django.template.backends.base:6
    django.template.backends.base:-1
    django.template.backends.base:18
    django.core.checks.registry:4
    django.core.checks.registry:-1
    django.utils.connection:4
    django.utils.connection:-1
    django.utils.connection:22
    django.template.exceptions:2
    django.template.exceptions:-1
    django.template.exceptions:6
    django.template.exceptions:6
    django.template.library:4
    django.template.library:-1
    django.template.library:4
    django.template.library:-1
    django.template.library:4
    django.template.library:-1
    django.template.library:4
    django.template.library:-1
    django.template.library:5
    django.template.library:-1
    django.template.library:8
    django.template.library:-1
    django.template.library:8
    django.template.library:-1
    django.template.library:43
    django.template.library:43
    django.template.library:43
    django.template.library:-1
    django.template.library:57
    django.template.library:57
    django.template.library:57
    django.template.library:-1
    django.template.library:74
    django.template.library:74
    django.template.library:74
    django.template.library:-1
    django.template.engine:4
    django.template.engine:-1
    django.template.engine:6
    django.template.engine:-1
    django.template.engine:7
    django.template.engine:-1
    django.template.engine:11
    django.template.engine:-1
    django.template.engine:44
    django.template.engine:48
    django.template.context:6
    django.template.context:-1
    django.template.context:7
    django.template.context:-1
    django.template.context:7
    django.template.context:-1
    django.template.context:7
    django.template.context:-1
    django.template.context:48
    django.template.context:-1
    django.template.context:8
    django.template.context:11
    django.template.context:11
    django.template.context:11
    django.template.context:11
    django.template.context:-1
    django.template.context:13
    django.template.context:13
    django.template.context:-1
    django.template.context:18
    django.template.context:18
    django.template.context:18
    django.template.context:18
    django.template.context:18
    django.template.context:50
    django.template.context:50
    django.template.context:50
    django.template.context:50
    django.template.context:50
    django.template.context:51
    django.template.context:51
    django.template.context:64
    django.template.context:64
    django.template.context:65
    django.template.context:65
    django.template.context:76
    django.template.context:76
    django.template.context:86
    django.template.context:86
    django.template.loaders.base:4
    django.template.loaders.base:-1
    django.template.loaders.base:4
    django.template.loaders.base:-1
    django.db.models.fields.related_descriptors:4
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:5
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:6
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:7
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:7
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:7
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:8
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:8
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:8
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:9
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:9
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:10
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:11
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:12
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:15
    django.db.models.fields.related_descriptors:15
    django.db.models.fields.related_descriptors:15
    django.db.models.fields.related_descriptors:16
    django.db.models.fields.related_descriptors:16
    django.db.models.fields.related_descriptors:16
    django.db.models.fields.related_descriptors:17
    django.db.models.fields.related_descriptors:17
    django.db.models.fields.related_descriptors:17
    django.db.models.fields.related_descriptors:18
    django.db.models.fields.related_descriptors:18
    django.db.models.fields.related_descriptors:18
    django.db.models.fields.related_descriptors:18
    django.db.models.fields.related_descriptors:18
    django.db.models.fields.related_descriptors:19
    django.db.models.fields.related_descriptors:19
    django.db.models.fields.related_descriptors:19
    django.db.models.fields.related_descriptors:21
    django.db.models.fields.related_descriptors:21
    django.db.models.fields.related_descriptors:21
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:24
    django.db.models.fields.related_descriptors:25
    django.db.models.fields.related_descriptors:27
    django.db.models.fields.related_descriptors:44
    django.db.models.fields.related_descriptors:47
    django.db.models.fields.related_descriptors:47
    django.db.models.fields.related_descriptors:57
    django.db.models.fields.related_descriptors:57
    django.db.models.fields.related_descriptors:59
    django.db.models.fields.related_descriptors:76
    django.db.models.fields.related_descriptors:86
    django.db.models.fields.related_descriptors:86
    django.db.models.fields.related_descriptors:87
    django.db.models.fields.related_descriptors:87
    django.db.models.fields.related_descriptors:89
    django.db.models.fields.related_descriptors:99
    django.db.models.fields.related_descriptors:99
    django.db.models.fields.related_descriptors:99
    django.db.models.fields.related_descriptors:99
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:115
    django.db.models.fields.related_descriptors:115
    django.db.models.fields.related_descriptors:115
    django.db.models.fields.related_descriptors:-1
    django.db.models.fields.related_descriptors:142
    django.db.models.fields.related_descriptors:142
    django.db.models.fields.related_descriptors:142
    django.db.models.fields.related_descriptors:142
    django.db.models.fields.related_descriptors:-1
    django.contrib.sites.models:4
    django.contrib.sites.models:-1
    django.contrib.sites.models:8
    django.contrib.sites.models:8
    django.contrib.sites.models:8
    django.contrib.sites.models:8
    django.contrib.sites.models:8
    django.contrib.sites.models:8
    django.contrib.sites.models:8
    django.contrib.sites.models:8
    django.contrib.sites.models:8
    django.contrib.sites.models:8
    django.contrib.sites.models:8
    django.contrib.sites.models:8
    django.contrib.sites.models:8
    django.contrib.sites.models:-1
    django.contrib.sites.models:13
    django.contrib.sites.models:13
    django.contrib.sites.models:13
    django.contrib.sites.models:13
    django.contrib.sites.models:13
    django.contrib.sites.models:13
    django.contrib.sites.models:13
    django.contrib.sites.models:13
    django.contrib.sites.models:13
    django.contrib.sites.models:13
    django.contrib.sites.models:13
    django.contrib.sites.models:-1
    django.db.models.fields.reverse_related:4
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:5
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:5
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:5
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:5
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:5
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:6
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:6
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:6
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:6
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:7
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:7
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:7
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:8
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:8
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:9
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:10
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:12
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:20
    django.db.models.fields.reverse_related:20
    django.db.models.fields.reverse_related:20
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:89
    django.db.models.fields.reverse_related:89
    django.db.models.fields.reverse_related:89
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:105
    django.db.models.fields.reverse_related:105
    django.db.models.fields.reverse_related:105
    django.db.models.fields.reverse_related:-1
    django.db.models.fields.reverse_related:119
    django.db.models.fields.reverse_related:119
    django.db.models.fields.reverse_related:119
    django.db.models.fields.reverse_related:-1
    django.forms.renderers:3
    django.forms.renderers:-1
    django.forms.renderers:11
    django.forms.renderers:-1
    django.forms.renderers:5
    django.forms.renderers:10
    django.forms.renderers:-1
    django.forms.renderers:6
    django.forms.renderers:7
    django.forms.renderers:-1
    django.forms.renderers:8
    django.forms.renderers:-1
    django.forms.renderers:21
    django.forms.renderers:25
    django.forms.renderers:25
    django.forms.renderers:28
    django.db.models.sql.where:4
    django.db.models.sql.where:-1
    django.db.models.sql.where:5
    django.db.models.sql.where:-1
    django.db.models.sql.where:6
    django.db.models.sql.where:-1
    django.db.models.sql.where:7
    django.db.models.sql.where:-1
    django.db.models.sql.where:7
    django.db.models.sql.where:-1
    django.db.models.sql.where:8
    django.db.models.sql.where:-1
    django.db.models.sql.where:10
    django.db.models.sql.where:-1
    django.db.models.sql.where:15
    django.db.models.sql.where:15
    django.db.models.sql.where:15
    django.db.models.sql.where:15
    django.db.models.sql.where:15
    django.db.models.sql.where:15
    django.db.models.sql.where:15
    django.db.models.sql.where:15
    django.db.models.sql.where:15
    django.db.models.sql.where:15
    django.db.models.sql.where:15
    django.db.models.sql.where:-1
    django.db.models.sql.where:57
    django.db.models.sql.where:57
    django.db.models.sql.query:7
    django.db.models.sql.query:-1
    django.db.models.sql.query:7
    django.db.models.sql.query:-1
    django.db.models.sql.query:7
    django.db.models.sql.query:-1
    django.db.models.sql.query:7
    django.db.models.sql.query:-1
    django.db.models.sql.query:8
    django.db.models.sql.query:-1
    django.db.models.sql.query:8
    django.db.models.sql.query:-1
    django.db.models.sql.query:8
    django.db.models.sql.query:-1
    django.db.models.sql.query:8
    django.db.models.sql.query:-1
    django.db.models.sql.query:9
    django.db.models.sql.query:-1
    django.db.models.sql.query:9
    django.db.models.sql.query:-1
    django.db.models.sql.query:10
    django.db.models.sql.query:-1
    django.db.models.sql.query:11
    django.db.models.sql.query:-1
    django.db.models.sql.query:15
    django.db.models.sql.query:-1
    django.db.models.sql.query:13
    django.db.models.sql.query:14
    django.db.models.sql.query:-1
    django.db.models.sql.query:35
    django.db.models.sql.query:35
    django.db.models.sql.query:35
    django.db.models.sql.query:-1
    django.db.models.options:4
    django.db.models.options:-1
    django.db.models.options:5
    django.db.models.options:-1
    django.db.models.options:6
    django.db.models.options:-1
    django.db.models.options:7
    django.db.models.options:-1
    django.db.models.options:8
    django.db.models.options:-1
    django.db.models.options:9
    django.db.models.options:-1
    django.db.models.options:9
    django.db.models.options:-1
    django.db.models.options:10
    django.db.models.options:-1
    django.db.models.options:10
    django.db.models.options:-1
    django.db.models.options:11
    django.db.models.options:-1
    django.db.models.options:11
    django.db.models.options:-1
    django.db.models.options:20
    django.db.models.options:-1
    django.db.models.options:12
    django.db.models.options:13
    django.db.models.options:-1
    django.db.models.options:14
    django.db.models.options:-1
    django.db.models.options:16
    django.db.models.options:-1
    django.db.models.options:16
    django.db.models.options:-1
    django.db.models.options:37
    django.db.models.options:37
    django.db.models.options:37
    django.db.models.options:39
    django.db.models.options:40
    django.db.models.options:40
    django.db.models.options:44
    django.db.models.options:44
    django.db.models.options:45
    django.db.models.options:45
    django.db.models.options:47
    django.db.models.options:47
    django.db.models.options:51
    django.db.models.options:51
    django.db.models.options:52
    django.db.models.options:52
    django.db.models.options:69
    django.db.models.options:69
    django.db.models.options:70
    django.db.models.options:70
    django.db.models.options:74
    django.db.models.options:74
    django.db.models.options:75
    django.db.models.options:75
    django.db.models.options:77
    django.db.models.options:77
    django.db.models.options:77
    django.db.models.options:77
    django.db.models.options:80
    django.db.models.options:80
    django.db.models.options:82
    django.db.models.options:82
    django.db.models.options:104
    django.db.models.options:106
    django.db.models.options:108
    django.db.models.options:110
    django.db.models.options:112
    django.db.models.options:114
    django.db.models.options:133
    django.db.models.options:135
    django.db.models.sql.compiler:7
    django.db.models.sql.compiler:-1
    django.db.models.sql.compiler:9
    django.db.models.sql.compiler:-1
    django.db.models.sql.compiler:10
    django.db.models.sql.compiler:-1
    django.db.models.sql.compiler:10
    django.db.models.sql.compiler:-1
    django.db.models.sql.compiler:10
    django.db.models.sql.compiler:-1
    django.db.models.sql.compiler:35
    django.db.models.sql.compiler:-1
    django.db.models.sql.compiler:11
    django.db.models.sql.compiler:38
    django.db.models.sql.compiler:-1
    django.db.models.sql.compiler:12
    django.db.models.sql.compiler:10
    django.db.models.sql.compiler:-1
    django.db.models.sql.compiler:12
    django.db.models.sql.compiler:28
    django.db.models.sql.compiler:-1
    django.db.models.sql.compiler:12
    django.db.models.sql.compiler:17
    django.db.models.sql.compiler:-1
    django.db.models.sql.compiler:12
    django.db.models.sql.compiler:13
    django.db.models.sql.compiler:-1
    django.db.models.sql.compiler:21
    django.db.models.sql.compiler:21
    django.db.models.sql.compiler:21
    django.db.models.sql.compiler:-1
    django.db.models.sql.compiler:25
    django.db.models.sql.compiler:25
    django.db.models.sql.compiler:26
    django.db.models.sql.compiler:26
    django.db.models.sql.compiler:123
    django.db.models.sql.compiler:123
    django.db.models.sql.compiler:136
    django.db.models.sql.compiler:136
    django.db.models.sql.compiler:137
    django.db.models.sql.compiler:139
    django.db.models.sql.compiler:144
    django.db.models.sql.compiler:144
    django.db.models.sql.compiler:150
    django.db.models.sql.compiler:150
    django.db.models.indexes:4
    django.db.models.indexes:-1
    django.db.models.indexes:5
    django.db.models.indexes:-1
    django.db.models.indexes:7
    django.db.models.indexes:-1
    django.db.models.indexes:8
    django.db.models.indexes:-1
    django.db.models.indexes:8
    django.db.models.indexes:-1
    django.db.models.indexes:8
    django.db.models.indexes:-1
    django.db.models.indexes:8
    django.db.models.indexes:-1
    django.db.models.indexes:9
    django.db.models.indexes:-1
    django.db.models.indexes:13
    django.db.models.indexes:13
    django.db.models.indexes:21
    django.db.models.indexes:21
    django.db.models.indexes:22
    django.db.models.indexes:22
    django.db.models.indexes:22
    django.db.models.indexes:44
    django.db.models.indexes:44
    django.db.models.indexes:44
    django.db.models.indexes:-1
    django.db.models.constraints:5
    django.db.models.constraints:-1
    django.db.models.constraints:6
    django.db.models.constraints:-1
    django.db.models.constraints:7
    django.db.models.constraints:-1
    django.db.models.constraints:7
    django.db.models.constraints:-1
    django.db.models.constraints:8
    django.db.models.constraints:-1
    django.db.models.constraints:9
    django.db.models.constraints:-1
    django.db.models.constraints:19
    django.db.models.constraints:19
    django.db.models.constraints:20
    django.db.models.constraints:20
    django.db.models.constraints:46
    django.db.models.constraints:46
    django.db.models.constraints:46
    django.db.models.constraints:47
    django.db.models.constraints:47
    django.db.models.constraints:47
    django.db.models.constraints:70
    django.db.models.constraints:70
    django.db.models.constraints:70
    django.db.models.constraints:72
    django.db.models.constraints:72
    django.db.models.fields.json:5
    django.db.models.fields.json:-1
    django.db.models.fields.json:7
    django.db.models.fields.json:-1
    django.db.models.fields.json:8
    django.db.models.fields.json:-1
    django.db.models.fields.json:9
    django.db.models.fields.json:-1
    django.db.models.fields.json:9
    django.db.models.fields.json:-1
    django.db.models.fields.json:11
    django.db.models.fields.json:-1
    django.db.models.fields.json:14
    django.db.models.fields.json:-1
    django.db.models.fields.json:15
    django.db.models.fields.json:-1
    django.db.models.fields.json:22
    django.db.models.fields.json:22
    django.db.models.fields.json:22
    django.db.models.fields.json:22
    django.db.models.fields.json:-1
    django.db.models.fields.json:35
    django.db.models.fields.json:35
    django.db.models.fields.json:35
    django.db.models.fields.json:-1
    django.db.models.fields.json:36
    django.db.models.fields.json:36
    django.db.models.fields.json:36
    django.db.models.fields.json:-1
    django.db.models.fields.json:38
    django.db.models.fields.json:38
    django.db.models.fields.json:38
    django.db.models.fields.json:-1
    django.db.models.fields.json:42
    django.db.models.fields.json:42
    django.db.models.fields.json:42
    django.db.models.fields.json:-1
    django.db.models.fields.json:45
    django.db.models.fields.json:45
    django.db.models.fields.json:45
    django.db.models.fields.json:-1
    django.db.models.fields.json:49
    django.db.models.fields.json:49
    django.db.models.fields.json:49
    django.db.models.fields.json:-1
    django.db.models.fields.json:53
    django.db.models.fields.json:53
    django.db.models.fields.json:53
    django.db.models.fields.json:-1
    django.db.models.fields.json:54
    django.db.models.fields.json:54
    django.db.models.fields.json:54
    django.db.models.fields.json:54
    django.db.models.fields.json:54
    django.db.models.fields.json:54
    django.db.models.fields.json:54
    django.db.models.fields.json:54
    django.db.models.fields.json:54
    django.db.models.fields.json:54
    django.db.models.fields.json:54
    django.db.models.fields.json:-1
    django.db.models.fields.json:56
    django.db.models.fields.json:56
    django.db.models.fields.json:56
    django.db.models.fields.json:56
    django.db.models.fields.json:56
    django.db.models.fields.json:56
    django.db.models.fields.json:56
    django.db.models.fields.json:56
    django.db.models.fields.json:56
    django.db.models.fields.json:56
    django.db.models.fields.json:56
    django.db.models.fields.json:-1
    django.db.models.fields.json:58
    django.db.models.fields.json:58
    django.db.models.fields.json:58
    django.db.models.fields.json:-1
    django.db.models.fields.json:65
    django.db.models.fields.json:65
    django.db.models.fields.json:65
    django.db.models.fields.json:-1
    django.db.models.fields.json:72
    django.db.models.fields.json:72
    django.db.models.fields.json:77
    django.db.models.fields.json:77
    django.db.models.fields.json:77
    django.db.models.fields.json:77
    django.db.models.fields.json:77
    django.db.models.fields.json:77
    django.db.models.fields.json:77
    django.db.models.fields.json:77
    django.db.models.fields.json:77
    django.db.models.fields.json:77
    django.db.models.fields.json:77
    django.db.models.fields.json:-1
    django.db.models.fields.json:78
    django.db.models.fields.json:78
    django.db.models.fields.json:78
    django.db.models.fields.json:78
    django.db.models.fields.json:78
    django.db.models.fields.json:78
    django.db.models.fields.json:78
    django.db.models.fields.json:78
    django.db.models.fields.json:78
    django.db.models.fields.json:78
    django.db.models.fields.json:78
    django.db.models.fields.json:-1
    django.db.models.fields.json:79
    django.db.models.fields.json:79
    django.db.models.fields.json:79
    django.db.models.fields.json:-1
    django.db.models.fields.json:80
    django.db.models.fields.json:80
    django.db.models.fields.json:80
    django.db.models.fields.json:80
    django.db.models.fields.json:80
    django.db.models.fields.json:80
    django.db.models.fields.json:80
    django.db.models.fields.json:80
    django.db.models.fields.json:80
    django.db.models.fields.json:80
    django.db.models.fields.json:80
    django.db.models.fields.json:-1
    django.db.models.fields.json:81
    django.db.models.fields.json:81
    django.db.models.fields.json:81
    django.db.models.fields.json:81
    django.db.models.fields.json:81
    django.db.models.fields.json:81
    django.db.models.fields.json:81
    django.db.models.fields.json:81
    django.db.models.fields.json:81
    django.db.models.fields.json:81
    django.db.models.fields.json:81
    django.db.models.fields.json:-1
    django.db.models.fields.json:82
    django.db.models.fields.json:82
    django.db.models.fields.json:82
    django.db.models.fields.json:82
    django.db.models.fields.json:82
    django.db.models.fields.json:82
    django.db.models.fields.json:82
    django.db.models.fields.json:82
    django.db.models.fields.json:82
    django.db.models.fields.json:82
    django.db.models.fields.json:82
    django.db.models.fields.json:-1
    django.db.models.fields.json:83
    django.db.models.fields.json:83
    django.db.models.fields.json:83
    django.db.models.fields.json:83
    django.db.models.fields.json:83
    django.db.models.fields.json:83
    django.db.models.fields.json:83
    django.db.models.fields.json:83
    django.db.models.fields.json:83
    django.db.models.fields.json:83
    django.db.models.fields.json:83
    django.db.models.fields.json:-1
    django.db.models.fields.json:84
    django.db.models.fields.json:84
    django.db.models.fields.json:84
    django.db.models.fields.json:84
    django.db.models.fields.json:84
    django.db.models.fields.json:84
    django.db.models.fields.json:84
    django.db.models.fields.json:84
    django.db.models.fields.json:84
    django.db.models.fields.json:84
    django.db.models.fields.json:84
    django.db.models.fields.json:-1
    django.db.models.fields.json:85
    django.db.models.fields.json:85
    django.db.models.fields.json:85
    django.db.models.fields.json:85
    django.db.models.fields.json:85
    django.db.models.fields.json:85
    django.db.models.fields.json:85
    django.db.models.fields.json:85
    django.db.models.fields.json:85
    django.db.models.fields.json:85
    django.db.models.fields.json:85
    django.db.models.fields.json:-1
    django.db.models.fields.json:86
    django.db.models.fields.json:86
    django.db.models.fields.json:86
    django.db.models.fields.json:86
    django.db.models.fields.json:86
    django.db.models.fields.json:86
    django.db.models.fields.json:86
    django.db.models.fields.json:86
    django.db.models.fields.json:86
    django.db.models.fields.json:86
    django.db.models.fields.json:86
    django.db.models.fields.json:-1
    django.db.models.fields.json:87
    django.db.models.fields.json:87
    django.db.models.fields.json:87
    django.db.models.fields.json:87
    django.db.models.fields.json:87
    django.db.models.fields.json:87
    django.db.models.fields.json:87
    django.db.models.fields.json:87
    django.db.models.fields.json:87
    django.db.models.fields.json:87
    django.db.models.fields.json:87
    django.db.models.fields.json:-1
    django.db.models.fields.json:89
    django.db.models.fields.json:89
    django.db.models.fields.json:89
    django.db.models.fields.json:89
    django.db.models.fields.json:89
    django.db.models.fields.json:89
    django.db.models.fields.json:89
    django.db.models.fields.json:89
    django.db.models.fields.json:89
    django.db.models.fields.json:89
    django.db.models.fields.json:89
    django.db.models.fields.json:-1
    django.db.models.fields.json:90
    django.db.models.fields.json:90
    django.db.models.fields.json:90
    django.db.models.fields.json:90
    django.db.models.fields.json:90
    django.db.models.fields.json:90
    django.db.models.fields.json:90
    django.db.models.fields.json:90
    django.db.models.fields.json:90
    django.db.models.fields.json:90
    django.db.models.fields.json:90
    django.db.models.fields.json:-1
    django.db.models.fields.json:91
    django.db.models.fields.json:91
    django.db.models.fields.json:91
    django.db.models.fields.json:91
    django.db.models.fields.json:91
    django.db.models.fields.json:91
    django.db.models.fields.json:91
    django.db.models.fields.json:91
    django.db.models.fields.json:91
    django.db.models.fields.json:91
    django.db.models.fields.json:91
    django.db.models.fields.json:-1
    django.db.models.fields.json:92
    django.db.models.fields.json:92
    django.db.models.fields.json:92
    django.db.models.fields.json:92
    django.db.models.fields.json:92
    django.db.models.fields.json:92
    django.db.models.fields.json:92
    django.db.models.fields.json:92
    django.db.models.fields.json:92
    django.db.models.fields.json:92
    django.db.models.fields.json:92
    django.db.models.fields.json:-1
    django.db.models.fields.generated:3
    django.db.models.fields.generated:-1
    django.db.models.fields.generated:5
    django.db.models.fields.generated:-1
    django.db.models.fields.generated:6
    django.db.models.fields.generated:-1
    django.db.models.fields.generated:7
    django.db.models.fields.generated:-1
    django.db.models.fields.generated:8
    django.db.models.fields.generated:-1
    django.db.models.fields.generated:11
    django.db.models.fields.generated:-1
    django.db.models.fields.generated:13
    django.db.models.fields.generated:13
    django.db.models.fields.generated:13
    django.db.models.fields.generated:13
    django.db.models.fields.generated:13
    django.db.models.fields.generated:13
    django.db.models.fields.generated:13
    django.db.models.fields.generated:13
    django.db.models.fields.generated:13
    django.db.models.fields.generated:13
    django.db.models.fields.generated:13
    django.db.models.fields.generated:-1
    django.db.models.fields.files:5
    django.db.models.fields.files:-1
    django.db.models.fields.files:6
    django.db.models.fields.files:-1
    django.db.models.fields.files:6
    django.db.models.fields.files:7
    django.db.models.fields.files:-1
    django.db.models.fields.files:8
    django.db.models.fields.files:-1
    django.db.models.fields.files:9
    django.db.models.fields.files:-1
    django.db.models.fields.files:10
    django.db.models.fields.files:-1
    django.db.models.fields.files:10
    django.db.models.fields.files:-1
    django.db.models.fields.files:10
    django.db.models.fields.files:-1
    django.db.models.fields.files:11
    django.db.models.fields.files:-1
    django.db.models.fields.files:15
    django.db.models.fields.files:-1
    django.db.models.fields.files:18
    django.db.models.fields.files:18
    django.db.models.fields.files:18
    django.db.models.fields.files:-1
    django.db.models.fields.files:41
    django.db.models.fields.files:41
    django.db.models.fields.files:41
    django.db.models.fields.files:-1
    django.db.models.fields.files:46
    django.db.models.fields.files:46
    django.db.models.fields.files:46
    django.db.models.fields.files:49
    django.db.models.fields.files:52
    django.db.models.fields.files:52
    django.db.models.fields.files:52
    django.db.models.fields.files:-1
    django.db.models.fields.files:94
    django.db.models.fields.files:94
    django.db.models.fields.files:94
    django.db.models.fields.files:-1
    django.db.models.fields.files:98
    django.db.models.fields.files:98
    django.db.models.fields.files:98
    django.db.models.fields.files:98
    django.db.models.fields.files:98
    django.db.models.fields.files:-1
    django.db.models.fields.files:102
    django.db.models.fields.files:102
    django.db.models.fields.files:102
    django.db.models.fields.files:-1
    django.urls.resolvers:7
    django.urls.resolvers:-1
    django.urls.resolvers:9
    django.urls.resolvers:-1
    django.urls.resolvers:45
    django.urls.resolvers:45
    django.urls.resolvers:45
    django.urls.resolvers:45
    django.urls.resolvers:-1
    django.urls.resolvers:87
    django.urls.resolvers:87
    django.urls.resolvers:100
    django.urls.resolvers:104
    django.urls.resolvers:104
    django.urls.resolvers:105
    django.urls.resolvers:105
    django.urls.resolvers:126
    django.urls.resolvers:128
    django.urls.exceptions:1
    django.urls.exceptions:-1
    django.urls.exceptions:3
    django.urls.exceptions:3
    django.urls.exceptions:3
    django.urls.exceptions:-1
    django.urls.conf:5
    django.urls.conf:-1
    django.urls.conf:5
    django.urls.conf:-1
    django.urls.conf:5
    django.urls.conf:-1
    django.urls.conf:6
    django.urls.conf:-1
    django.urls.conf:15
    django.urls.conf:-1
    django.urls.conf:9
    django.urls.conf:12
    django.urls.conf:12
    django.urls.conf:12
    django.urls.conf:12
    django.urls.conf:12
    django.urls.conf:-1
    django.db.models.manager:5
    django.db.models.manager:-1
    django.db.models.manager:6
    django.db.models.manager:-1
    django.db.models.manager:6
    django.db.models.manager:-1
    django.db.models.manager:7
    django.db.models.manager:-1
    django.db.models.manager:7
    django.db.models.manager:-1
    django.db.models.manager:10
    django.db.models.manager:10
    django.db.models.manager:10
    django.db.models.manager:12
    django.db.models.manager:17
    django.db.models.manager:148
    django.db.models.manager:158
    django.db.backends.base.base:12
    django.db.backends.base.base:-1
    django.db.backends.base.base:15
    django.db.backends.base.base:-1
    django.db.backends.base.base:16
    django.db.backends.base.base:-1
    django.db.backends.base.base:34
    django.db.backends.base.base:34
    django.db.backends.base.base:66
    django.db.backends.base.base:66
    django.db.backends.base.base:69
    django.db.backends.base.base:71
    django.forms.widgets:5
    django.forms.widgets:-1
    django.forms.widgets:7
    django.forms.widgets:-1
    django.forms.widgets:7
    django.forms.widgets:-1
    django.forms.formsets:4
    django.forms.formsets:-1
    django.forms.formsets:5
    django.forms.formsets:-1
    django.forms.formsets:5
    django.forms.formsets:-1
    django.forms.formsets:7
    django.forms.formsets:-1
    django.forms.formsets:7
    django.forms.formsets:-1
    django.forms.formsets:7
    django.forms.formsets:-1
    django.forms.formsets:7
    django.forms.formsets:-1
    django.forms.formsets:9
    django.forms.formsets:-1
    django.forms.formsets:21
    django.forms.formsets:21
    django.forms.formsets:21
    django.forms.formsets:23
    django.forms.formsets:23
    django.forms.formsets:23
    django.forms.formsets:-1
    django.forms.formsets:28
    django.forms.formsets:28
    django.forms.formsets:28
    django.forms.formsets:28
    django.forms.formsets:-1
    django.forms.boundfield:4
    django.forms.boundfield:-1
    django.forms.boundfield:5
    django.forms.boundfield:-1
    django.forms.boundfield:7
    django.forms.boundfield:-1
    django.forms.boundfield:7
    django.forms.boundfield:-1
    django.forms.boundfield:9
    django.forms.boundfield:-1
    django.forms.boundfield:9
    django.forms.boundfield:-1
    django.forms.boundfield:15
    django.forms.boundfield:15
    django.forms.boundfield:15
    django.forms.boundfield:-1
    django.apps.config:4
    django.apps.config:-1
    django.apps.config:5
    django.apps.config:-1
    django.apps.config:6
    django.apps.config:-1
    django.apps.config:6
    django.apps.config:-1
    django.apps.config:14
    django.apps.config:14
    django.apps.config:16
    django.apps.config:16
    django.apps.config:21
    django.apps.config:21
    django.apps.config:23
    django.apps.config:23
    django.db.models.base:5
    django.db.models.base:-1
    django.db.models.base:6
    django.db.models.base:-1
    django.db.models.base:6
    django.db.models.base:-1
    django.db.models.base:7
    django.db.models.base:-1
    django.db.models.base:7
    django.db.models.base:-1
    django.db.models.base:7
    django.db.models.base:-1
    django.db.models.base:12
    django.db.models.base:12
    django.db.models.base:-1
    django.db.models.base:37
    django.db.models.base:37
    django.db.models.base:38
    django.db.models.base:38
    django.db.models.lookups:4
    django.db.models.lookups:-1
    django.db.models.lookups:6
    django.db.models.lookups:-1
    django.db.models.lookups:6
    django.db.models.lookups:-1
    django.db.models.lookups:6
    django.db.models.lookups:-1
    django.db.models.lookups:7
    django.db.models.lookups:-1
    django.db.models.lookups:8
    django.db.models.lookups:-1
    django.db.models.lookups:11
    django.db.models.lookups:-1
    django.db.models.lookups:15
    django.db.models.lookups:15
    django.db.models.lookups:15
    django.db.models.lookups:-1
    django.db.models.lookups:47
    django.db.models.lookups:47
    django.db.models.lookups:47
    django.db.models.lookups:47
    django.db.models.lookups:-1
    django.db.models.lookups:53
    django.db.models.lookups:53
    django.db.models.lookups:53
    django.db.models.lookups:-1
    django.db.models.lookups:70
    django.db.models.lookups:70
    django.db.models.lookups:70
    django.db.models.lookups:-1
    django.db.models.lookups:74
    django.db.models.lookups:74
    django.db.models.lookups:74
    django.db.models.lookups:-1
    django.db.models.lookups:75
    django.db.models.lookups:75
    django.db.models.lookups:75
    django.db.models.lookups:-1
    django.db.models.lookups:76
    django.db.models.lookups:76
    django.db.models.lookups:76
    django.db.models.lookups:-1
    django.db.models.lookups:77
    django.db.models.lookups:77
    django.db.models.lookups:77
    django.db.models.lookups:-1
    django.db.models.lookups:78
    django.db.models.lookups:78
    django.db.models.lookups:78
    django.db.models.lookups:-1
    django.db.models.lookups:79
    django.db.models.lookups:79
    django.db.models.lookups:79
    django.db.models.lookups:-1
    django.db.models.lookups:82
    django.db.models.lookups:82
    django.db.models.lookups:83
    django.db.models.lookups:83
    django.db.models.lookups:90
    django.db.models.lookups:90
    django.db.models.lookups:90
    django.db.models.lookups:-1
    django.db.models.lookups:91
    django.db.models.lookups:91
    django.db.models.lookups:91
    django.db.models.lookups:-1
    django.db.models.lookups:92
    django.db.models.lookups:92
    django.db.models.lookups:92
    django.db.models.lookups:-1
    django.db.models.lookups:93
    django.db.models.lookups:93
    django.db.models.lookups:93
    django.db.models.lookups:-1
    django.db.models.lookups:94
    django.db.models.lookups:94
    django.db.models.lookups:94
    django.db.models.lookups:-1
    django.db.models.lookups:96
    django.db.models.lookups:96
    django.db.models.lookups:96
    django.db.models.lookups:-1
    django.db.models.lookups:99
    django.db.models.lookups:99
    django.db.models.lookups:99
    django.db.models.lookups:-1
    django.db.models.lookups:102
    django.db.models.lookups:102
    django.db.models.lookups:102
    django.db.models.lookups:-1
    django.db.models.lookups:103
    django.db.models.lookups:103
    django.db.models.lookups:103
    django.db.models.lookups:-1
    django.db.models.lookups:104
    django.db.models.lookups:104
    django.db.models.lookups:104
    django.db.models.lookups:-1
    django.db.models.lookups:105
    django.db.models.lookups:105
    django.db.models.lookups:105
    django.db.models.lookups:-1
    django.db.models.lookups:106
    django.db.models.lookups:106
    django.db.models.lookups:106
    django.db.models.lookups:-1
    django.db.models.lookups:107
    django.db.models.lookups:107
    django.db.models.lookups:107
    django.db.models.lookups:-1
    django.db.models.lookups:108
    django.db.models.lookups:108
    django.db.models.lookups:108
    django.db.models.lookups:-1
    django.db.models.lookups:109
    django.db.models.lookups:109
    django.db.models.lookups:109
    django.db.models.lookups:-1
    django.db.models.lookups:110
    django.db.models.lookups:110
    django.db.models.lookups:110
    django.db.models.lookups:-1
    django.db.models.lookups:111
    django.db.models.lookups:111
    django.db.models.lookups:111
    django.db.models.lookups:-1
    django.db.models.lookups:113
    django.db.models.lookups:113
    django.db.models.lookups:113
    django.db.models.lookups:-1
    django.db.models.lookups:118
    django.db.models.lookups:118
    django.db.models.lookups:118
    django.db.models.lookups:118
    django.db.models.lookups:118
    django.db.models.lookups:-1
    django.db.models.lookups:121
    django.db.models.lookups:121
    django.db.models.lookups:121
    django.db.models.lookups:121
    django.db.models.lookups:121
    django.db.models.lookups:-1
    django.db.models.lookups:124
    django.db.models.lookups:124
    django.db.models.lookups:124
    django.db.models.lookups:124
    django.db.models.lookups:124
    django.db.models.lookups:-1
    django.db.models.lookups:127
    django.db.models.lookups:127
    django.db.models.lookups:127
    django.db.models.lookups:127
    django.db.models.lookups:127
    django.db.models.lookups:-1
    django.db.models.lookups:130
    django.db.models.lookups:130
    django.db.models.lookups:130
    django.db.models.lookups:130
    django.db.models.lookups:130
    django.db.models.lookups:-1
    django.db.models.lookups:137
    django.db.models.lookups:137
    django.db.models.lookups:137
    django.db.models.lookups:-1
    django.db.models.lookups:138
    django.db.models.lookups:138
    django.db.models.lookups:138
    django.db.models.lookups:-1
    django.db.models.lookups:139
    django.db.models.lookups:139
    django.db.models.lookups:139
    django.db.models.lookups:-1
    django.db.models.lookups:140
    django.db.models.lookups:140
    django.db.models.lookups:140
    django.db.models.lookups:-1
    django.db.models.lookups:141
    django.db.models.lookups:141
    django.db.models.lookups:141
    django.db.models.lookups:-1
    django.db.models.lookups:142
    django.db.models.lookups:142
    django.db.models.lookups:142
    django.db.models.lookups:-1
    django.db.models.lookups:143
    django.db.models.lookups:143
    django.db.models.lookups:143
    django.db.models.lookups:-1
    django.db.utils:5
    django.db.utils:-1
    django.db.utils:7
    django.db.utils:-1
    django.db.utils:9
    django.db.utils:-1
    django.db.utils:46
    django.core.files.storage:1
    django.core.files.storage:-1
    django.core.files.storage:8
    django.core.files.storage:-1
    django.core.files.storage:4
    django.core.files.storage:8
    django.core.files.storage:-1
    django.core.files.storage:5
    django.core.files.storage:8
    django.core.files.storage:-1
    django.core.files.storage:6
    django.core.files.storage:24
    django.core.files.storage:24
    django.core.files.storage:24
    django.core.files.storage:-1
    django.contrib.auth.validators:1
    django.contrib.auth.validators:-1
    django.contrib.auth.validators:3
    django.contrib.auth.validators:3
    django.contrib.auth.validators:3
    django.contrib.auth.validators:-1
    django.contrib.auth.validators:4
    django.contrib.auth.validators:4
    django.contrib.auth.validators:4
    django.contrib.auth.validators:-1
    django.db.models.fields:10
    django.db.models.fields:-1
    django.db.models.fields:12
    django.db.models.fields:-1
    django.db.models.fields:13
    django.db.models.fields:-1
    django.db.models.fields:13
    django.db.models.fields:-1
    django.db.models.fields:13
    django.db.models.fields:-1
    django.db.models.fields:13
    django.db.models.fields:-1
    django.db.models.fields:20
    django.db.models.fields:-1
    django.db.models.fields:14
    django.db.models.fields:15
    django.db.models.fields:-1
    django.db.models.fields:15
    django.db.models.fields:-1
    django.db.models.fields:16
    django.db.models.fields:-1
    django.db.models.fields:19
    django.db.models.fields:-1
    django.db.models.fields:19
    django.db.models.fields:-1
    django.db.models.fields:19
    django.db.models.fields:-1
    django.db.models.fields:28
    django.db.models.fields:28
    django.db.models.fields:28
    django.db.models.fields:28
    django.db.models.fields:-1
    django.db.models.fields:30
    django.db.models.fields:30
    django.db.models.fields:-1
    django.db.models.fields:33
    django.db.models.fields:33
    django.db.models.fields:33
    django.db.models.fields:-1
    django.db.models.fields:42
    django.db.models.fields:42
    django.db.models.fields:42
    django.db.models.fields:43
    django.db.models.fields:43
    django.db.models.fields:43
    django.db.models.fields:43
    django.db.models.fields:43
    django.db.models.fields:-1
    django.db.models.fields:44
    django.db.models.fields:44
    django.db.models.fields:44
    django.db.models.fields:44
    django.db.models.fields:44
    django.db.models.fields:-1
    django.db.models.fields:51
    django.db.models.fields:51
    django.db.models.fields:51
    django.db.models.fields:-1
    django.db.models.fields:239
    django.db.models.fields:239
    django.db.models.fields:239
    django.db.models.fields:-1
    django.db.models.fields:247
    django.db.models.fields:247
    django.db.models.fields:247
    django.db.models.fields:-1
    django.db.models.fields:249
    django.db.models.fields:249
    django.db.models.fields:249
    django.db.models.fields:-1
    django.db.models.fields:252
    django.db.models.fields:252
    django.db.models.fields:252
    django.db.models.fields:-1
    django.db.models.fields:253
    django.db.models.fields:253
    django.db.models.fields:253
    django.db.models.fields:-1
    django.db.models.fields:254
    django.db.models.fields:254
    django.db.models.fields:254
    django.db.models.fields:-1
    django.db.models.fields:256
    django.db.models.fields:256
    django.db.models.fields:256
    django.db.models.fields:-1
    django.db.models.fields:261
    django.db.models.fields:261
    django.db.models.fields:261
    django.db.models.fields:-1
    django.db.models.fields:294
    django.db.models.fields:294
    django.db.models.fields:294
    django.db.models.fields:-1
    django.db.models.fields:328
    django.db.models.fields:328
    django.db.models.fields:328
    django.db.models.fields:-1
    django.db.models.fields:330
    django.db.models.fields:330
    django.db.models.fields:330
    django.db.models.fields:-1
    django.db.models.fields:360
    django.db.models.fields:360
    django.db.models.fields:360
    django.db.models.fields:-1
    django.db.models.fields:363
    django.db.models.fields:363
    django.db.models.fields:363
    django.db.models.fields:-1
    django.db.models.fields:393
    django.db.models.fields:393
    django.db.models.fields:393
    django.db.models.fields:-1
    django.db.models.fields:427
    django.db.models.fields:427
    django.db.models.fields:427
    django.db.models.fields:-1
    django.db.models.fields:432
    django.db.models.fields:432
    django.db.models.fields:432
    django.db.models.fields:-1
    django.db.models.fields:437
    django.db.models.fields:437
    django.db.models.fields:437
    django.db.models.fields:-1
    django.db.models.fields:441
    django.db.models.fields:441
    django.db.models.fields:441
    django.db.models.fields:-1
    django.db.models.fields:475
    django.db.models.fields:475
    django.db.models.fields:475
    django.db.models.fields:-1
    django.db.models.fields:508
    django.db.models.fields:508
    django.db.models.fields:508
    django.db.models.fields:-1
    django.db.models.fields:539
    django.db.models.fields:539
    django.db.models.fields:539
    django.db.models.fields:-1
    django.db.models.fields:544
    django.db.models.fields:544
    django.db.models.fields:544
    django.db.models.fields:-1
    django.db.models.fields:577
    django.db.models.fields:577
    django.db.models.fields:577
    django.db.models.fields:-1
    django.db.models.fields:613
    django.db.models.fields:613
    django.db.models.fields:613
    django.db.models.fields:-1
    django.db.models.fields:616
    django.db.models.fields:616
    django.db.models.fields:616
    django.db.models.fields:-1
    django.db.models.fields:625
    django.db.models.fields:625
    django.db.models.fields:625
    django.db.models.fields:-1
    django.db.models.fields:630
    django.db.models.fields:630
    django.db.models.fields:630
    django.db.models.fields:-1
    django.db.models.fields:631
    django.db.models.fields:631
    django.db.models.fields:631
    django.db.models.fields:-1
    django.contrib.auth.base_user:5
    django.contrib.auth.base_user:-1
    django.contrib.auth.base_user:427
    django.contrib.auth.base_user:-1
    django.contrib.auth.base_user:6
    django.contrib.auth.base_user:11
    django.contrib.auth.base_user:11
    django.contrib.auth.base_user:11
    django.contrib.auth.base_user:11
    django.contrib.auth.base_user:11
    django.contrib.auth.base_user:11
    django.contrib.auth.base_user:11
    django.contrib.auth.base_user:11
    django.contrib.auth.base_user:11
    django.contrib.auth.base_user:11
    django.contrib.auth.base_user:11
    django.contrib.auth.base_user:-1
    django.contrib.auth.base_user:17
    django.contrib.auth.base_user:17
    django.contrib.auth.base_user:17
    django.contrib.auth.base_user:17
    django.contrib.auth.base_user:17
    django.contrib.auth.base_user:17
    django.contrib.auth.base_user:17
    django.contrib.auth.base_user:17
    django.contrib.auth.base_user:17
    django.contrib.auth.base_user:17
    django.contrib.auth.base_user:17
    django.contrib.auth.base_user:-1
    django.contrib.auth.base_user:49
    django.contrib.auth.base_user:49
    django.contrib.auth.base_user:49
    django.contrib.auth.base_user:-1
    django.db.models.sql:35
    django.db.models.sql:-1
    django.db.models.sql:1
    django.db.models.sql:38
    django.db.models.sql:-1
    django.db.models.sql:3
    django.db.models.sql:10
    django.db.models.sql:-1
    django.db.models.sql:4
    django.db.models.sql:28
    django.db.models.sql:-1
    django.db.models.sql:5
    django.db.models.sql:17
    django.db.models.sql:-1
    django.db.models.sql:6
    django.forms.fields:8
    django.forms.fields:-1
    django.forms.fields:9
    django.forms.fields:-1
    django.forms.fields:44
    django.forms.fields:-1
    django.forms.fields:10
    django.forms.fields:43
    django.forms.fields:-1
    django.forms.fields:10
    django.forms.fields:15
    django.forms.fields:-1
    django.forms.fields:11
    django.forms.fields:12
    django.forms.fields:-1
    django.forms.fields:16
    django.forms.fields:-1
    django.forms.fields:30
    django.forms.fields:30
    django.forms.fields:34
    django.forms.fields:34
    django.forms.fields:35
    django.forms.fields:35
    django.forms.fields:38
    django.forms.fields:38
    django.forms.fields:42
    django.forms.fields:42
    django.forms.fields:43
    django.forms.fields:43
    django.forms.fields:550
    django.forms.fields:550
    django.db.models.fields.related:7
    django.db.models.fields.related:-1
    django.db.models.fields.related:7
    django.db.models.fields.related:-1
    django.db.models.fields.related:51
    django.db.models.fields.related:-1
    django.db.models.fields.related:8
    django.db.models.fields.related:43
    django.db.models.fields.related:-1
    django.db.models.fields.related:8
    django.db.models.fields.related:28
    django.db.models.fields.related:-1
    django.db.models.fields.related:8
    django.db.models.fields.related:9
    django.db.models.fields.related:-1
    django.db.models.fields.related:142
    django.db.models.fields.related:-1
    django.db.models.fields.related:12
    django.db.models.fields.related:115
    django.db.models.fields.related:-1
    django.db.models.fields.related:13
    django.db.models.fields.related:20
    django.db.models.fields.related:-1
    django.db.models.fields.related:16
    django.db.models.fields.related:119
    django.db.models.fields.related:-1
    django.db.models.fields.related:17
    django.db.models.fields.related:89
    django.db.models.fields.related:-1
    django.db.models.fields.related:18
    django.db.models.fields.related:105
    django.db.models.fields.related:-1
    django.db.models.fields.related:19
    django.db.models.fields.related:20
    django.db.models.fields.related:-1
    django.db.models.fields.related:20
    django.db.models.fields.related:-1
    django.db.models.fields.related:20
    django.db.models.fields.related:-1
    django.db.models.fields.related:22
    django.db.models.fields.related:-1
    django.db.models.fields.related:22
    django.db.models.fields.related:-1
    django.db.models.fields.related:34
    django.db.models.fields.related:34
    django.db.models.fields.related:34
    django.db.models.fields.related:34
    django.db.models.fields.related:-1
    django.db.models.fields.related:88
    django.db.models.fields.related:88
    django.db.models.fields.related:88
    django.db.models.fields.related:-1
    django.db.models.fields.related:148
    django.db.models.fields.related:148
    django.db.models.fields.related:148
    django.db.models.fields.related:-1
    django.db.models.fields.related:190
    django.db.models.fields.related:190
    django.db.models.fields.related:190
    django.db.models.fields.related:-1
    django.db.models.fields.related:244
    django.db.models.fields.related:244
    django.db.models.fields.related:244
    django.db.models.fields.related:-1
    django.db.models.fields.mixins:4
    django.db.models.fields.mixins:-1
    django.db.models.fields.mixins:10
    django.forms.forms:4
    django.forms.forms:-1
    django.forms.forms:15
    django.forms.forms:-1
    django.forms.forms:5
    django.forms.forms:8
    django.forms.forms:-1
    django.forms.forms:8
    django.forms.forms:-1
    django.forms.forms:8
    django.forms.forms:-1
    django.forms.forms:8
    django.forms.forms:-1
    django.forms.forms:8
    django.forms.forms:-1
    django.forms.forms:10
    django.forms.forms:-1
    django.forms.forms:10
    django.forms.forms:-1
    django.forms.forms:14
    django.forms.forms:14
    django.forms.forms:14
    django.forms.forms:-1
    django.forms.forms:74
    django.forms.forms:74
    django.forms.forms:74
    django.forms.forms:-1
    django.forms.models:6
    django.forms.models:-1
    django.forms.models:28
    django.forms.models:-1
    django.forms.models:8
    django.forms.models:10
    django.forms.models:-1
    django.forms.models:14
    django.forms.models:-1
    django.forms.models:12
    django.forms.models:28
    django.forms.models:-1
    django.forms.models:13
    django.forms.models:15
    django.forms.models:-1
    django.forms.models:15
    django.forms.models:-1
    django.forms.models:15
    django.forms.models:-1
    django.forms.models:19
    django.forms.models:-1
    django.forms.models:30
    django.forms.models:30
    django.forms.models:-1
    django.forms.models:66
    django.forms.models:66
    django.forms.models:71
    django.forms.models:71
    django.forms.models:71
    django.forms.models:-1
    django.forms.models:92
    django.forms.models:92
    django.forms.models:92
    django.forms.models:-1
    django.forms.models:109
    django.forms.models:109
    django.forms.models:109
    django.forms.models:111
    django.forms.models:111
    django.forms.models:111
    django.forms.models:111
    django.forms.models:-1
    django.forms.models:174
    django.forms.models:174
    django.forms.models:174
    django.forms.models:174
    django.forms.models:-1
    django.forms.models:226
    django.forms.models:226
    django.forms.models:248
    django.forms.models:248
    django.forms.models:248
    django.forms.models:248
    django.forms.models:248
    django.forms.models:249
    django.forms.models:249
    django.forms.models:258
    django.forms.models:258
    django.forms.models:263
    django.forms.models:263
    django.forms.models:264
    django.forms.models:264
    django.forms.models:265
    django.forms.models:295
    django.forms.models:295
    django.forms.models:296
    django.forms.models:296
    django.template.base:52
    django.template.base:52
    django.template.base:52
    django.template.base:52
    django.template.base:52
    django.contrib.contenttypes.fields:4
    django.contrib.contenttypes.fields:-1
    django.contrib.contenttypes.fields:7
    django.contrib.contenttypes.fields:-1
    django.contrib.contenttypes.fields:51
    django.contrib.contenttypes.fields:-1
    django.contrib.contenttypes.fields:8
    django.contrib.contenttypes.fields:88
    django.contrib.contenttypes.fields:-1
    django.contrib.contenttypes.fields:10
    django.contrib.contenttypes.fields:20
    django.contrib.contenttypes.fields:-1
    django.contrib.contenttypes.fields:12
    django.contrib.contenttypes.fields:13
    django.contrib.contenttypes.fields:-1
    django.contrib.contenttypes.fields:14
    django.contrib.contenttypes.fields:-1
    django.contrib.contenttypes.fields:14
    django.contrib.contenttypes.fields:-1
    django.contrib.contenttypes.fields:15
    django.contrib.contenttypes.fields:-1
    django.contrib.contenttypes.fields:15
    django.contrib.contenttypes.fields:19
    django.contrib.contenttypes.fields:19
    django.contrib.contenttypes.fields:57
    django.contrib.contenttypes.fields:57
    django.contrib.contenttypes.fields:57
    django.contrib.contenttypes.fields:-1
    django.contrib.contenttypes.fields:68
    django.contrib.contenttypes.fields:68
    django.contrib.contenttypes.fields:68
    django.contrib.contenttypes.fields:-1
    django.http.request:49
    django.http.request:-1
    django.http.request:7
    django.http.request:8
    django.http.request:-1
    django.http.request:13
    django.http.request:-1
    django.http.request:10
    django.http.request:12
    django.http.request:-1
    django.http.request:14
    django.http.request:-1
    django.http.request:23
    django.http.request:23
    django.http.request:23
    django.http.request:-1
    django.http.request:41
    django.http.request:41
    django.http.request:41
    django.http.request:41
    django.http.request:41
    django.http.request:42
    django.http.request:42
    django.http.request:42
    django.http.request:42
    django.http.request:42
    django.http.request:45
    django.http.request:45
    django.http.request:45
    django.http.request:45
    django.http.request:49
    django.http.request:49
    django.http.request:58
    django.http.request:58
    django.http.request:58
    django.http.request:60
    django.http.request:60
    django.http.request:60
    django.http.request:64
    django.http.request:64
    django.http.request:95
    django.http.request:100
    django.http.request:110
    django.http.request:110
    django.http.request:110
    django.http.request:110
    django.http.request:110
    django.http.request:111
    django.http.request:111
    django.http.request:111
    django.http.request:111
    django.http.request:111
    django.db.models.aggregates:3
    django.db.models.aggregates:-1
    django.db.models.aggregates:239
    django.db.models.aggregates:-1
    django.db.models.aggregates:4
    django.db.models.aggregates:7
    django.db.models.aggregates:7
    django.db.models.aggregates:7
    django.db.models.aggregates:-1
    django.db.models.aggregates:14
    django.db.models.aggregates:14
    django.db.models.aggregates:14
    django.db.models.aggregates:-1
    django.db.models.aggregates:16
    django.db.models.aggregates:16
    django.db.models.aggregates:16
    django.db.models.aggregates:-1
    django.db.models.aggregates:19
    django.db.models.aggregates:19
    django.db.models.aggregates:19
    django.db.models.aggregates:-1
    django.db.models.aggregates:20
    django.db.models.aggregates:20
    django.db.models.aggregates:20
    django.db.models.aggregates:-1
    django.db.models.aggregates:21
    django.db.models.aggregates:21
    django.db.models.aggregates:21
    django.db.models.aggregates:-1
    django.db.models.aggregates:22
    django.db.models.aggregates:22
    django.db.models.aggregates:22
    django.db.models.aggregates:-1
    django.db.models.aggregates:23
    django.db.models.aggregates:23
    django.db.models.aggregates:23
    django.db.models.aggregates:-1
    django.core.files.uploadedfile:3
    django.core.files.uploadedfile:-1
    django.core.files.uploadedfile:6
    django.core.files.uploadedfile:6
    django.core.files.uploadedfile:6
    django.core.files.uploadedfile:-1
    django.core.files.uploadedfile:22
    django.core.files.uploadedfile:22
    django.core.files.uploadedfile:22
    django.core.files.uploadedfile:-1
    django.core.files.uploadedfile:33
    django.core.files.uploadedfile:33
    django.core.files.uploadedfile:33
    django.core.files.uploadedfile:-1
    django.core.files.uploadedfile:47
    django.core.files.uploadedfile:47
    django.core.files.uploadedfile:47
    django.core.files.uploadedfile:-1
    django.forms.utils:6
    django.forms.utils:-1
    django.forms.utils:6
    django.forms.utils:-1
    django.forms.utils:7
    django.forms.utils:10
    django.forms.utils:-1
    django.forms.utils:16
    django.forms.utils:16
    django.forms.utils:16
    django.forms.utils:16
    django.forms.utils:50
    django.forms.utils:50
    django.forms.utils:50
    django.forms.utils:50
    django.forms.utils:-1
    django.forms.utils:60
    django.forms.utils:60
    django.forms.utils:60
    django.forms.utils:60
    django.forms.utils:60
    django.forms.utils:60
    django.forms.utils:60
    django.forms.utils:-1
    django.db.backends.base.schema:51
    django.db.backends.base.schema:-1
    django.db.backends.base.schema:11
    django.db.models.query_utils:8
    django.db.models.query_utils:-1
    django.db.models.query_utils:51
    django.db.models.query_utils:-1
    django.db.models.query_utils:9
    django.db.models.query_utils:15
    django.db.models.query_utils:-1
    django.db.models.query_utils:11
    django.db.models.query_utils:47
    django.db.models.query_utils:-1
    django.db.models.query_utils:11
    django.db.models.query_utils:35
    django.db.models.query_utils:-1
    django.db.models.query_utils:13
    django.db.models.query_utils:15
    django.db.models.query_utils:-1
    django.db.models.query_utils:14
    django.db.models.query_utils:26
    django.db.models.query_utils:26
    django.db.models.query_utils:26
    django.db.models.query_utils:26
    django.db.models.query_utils:26
    django.db.models.query_utils:26
    django.db.models.query_utils:26
    django.db.models.query_utils:26
    django.db.models.query_utils:26
    django.db.models.query_utils:26
    django.db.models.query_utils:26
    django.db.models.query_utils:-1
    django.db.models.query_utils:52
    django.db.models.query_utils:52
    django.db.models.query_utils:80
    django.db.models.query_utils:80
    django.db.models.query_utils:80
    django.db.models.query_utils:90
    django.db.models.query_utils:90
    django.core.files:1
    django.core.files:-1
    django.db.models.expressions:7
    django.db.models.expressions:-1
    django.db.models.expressions:51
    django.db.models.expressions:-1
    django.db.models.expressions:8
    django.db.models.expressions:15
    django.db.models.expressions:-1
    django.db.models.expressions:9
    django.db.models.expressions:47
    django.db.models.expressions:-1
    django.db.models.expressions:9
    django.db.models.expressions:10
    django.db.models.expressions:-1
    django.db.models.expressions:35
    django.db.models.expressions:-1
    django.db.models.expressions:12
    django.db.models.expressions:128
    django.db.models.expressions:128
    django.db.models.expressions:128
    django.db.models.expressions:216
    django.db.models.expressions:216
    django.db.models.expressions:232
    django.db.models.expressions:232
    django.db.models.expressions:232
    django.db.models.expressions:234
    django.db.models.expressions:236
    django.db.models.expressions:238
    django.db.models.expressions:261
    django.db.models.expressions:261
    django.db.models.expressions:266
    django.db.models.expressions:266
    django.db.models.expressions:266
    django.db.models.query:6
    django.db.models.query:-1
    django.db.models.query:35
    django.db.models.query:-1
    django.db.models.query:9
    django.db.models.query:16
    django.db.models.query:16
    django.db.models.query:-1
    django.db.models.query:23
    django.db.models.query:23
    django.db.models.query:23
    django.db.models.query:23
    django.db.models.query:23
    django.db.models.query:49
    django.db.models.query:49
    django.db.models.deletion:5
    django.db.models.deletion:-1
    django.db.models.deletion:51
    django.db.models.deletion:-1
    django.db.models.deletion:7
    django.db.models.deletion:51
    django.db.models.deletion:51
    django.db.models.deletion:51
    django.db.models.deletion:-1
    django.db.models.deletion:55
    django.db.models.deletion:55
    django.db.models.deletion:55
    django.db.models.deletion:-1
    django.db.models.deletion:63
    django.db.models.deletion:63
    django.db.models.deletion:64
    django.db.models.deletion:64
    django.contrib.contenttypes.models:7
    django.contrib.contenttypes.models:7
    django.contrib.contenttypes.models:7
    django.contrib.contenttypes.models:7
    django.contrib.contenttypes.models:7
    django.contrib.contenttypes.models:7
    django.contrib.contenttypes.models:7
    django.contrib.contenttypes.models:7
    django.contrib.contenttypes.models:7
    django.contrib.contenttypes.models:7
    django.contrib.contenttypes.models:7
    django.contrib.contenttypes.models:7
    django.contrib.contenttypes.models:7
    django.contrib.contenttypes.models:-1
    django.contrib.contenttypes.models:14
    django.contrib.contenttypes.models:14
    django.contrib.contenttypes.models:14
    django.contrib.contenttypes.models:14
    django.contrib.contenttypes.models:14
    django.contrib.contenttypes.models:14
    django.contrib.contenttypes.models:14
    django.contrib.contenttypes.models:14
    django.contrib.contenttypes.models:14
    django.contrib.contenttypes.models:14
    django.contrib.contenttypes.models:14
    django.contrib.contenttypes.models:-1
    django.db.models:7
    django.db.models:-1
    django.db.models:3
    django.db.models:14
    django.db.models:-1
    django.db.models:4
    django.db.models:16
    django.db.models:-1
    django.db.models:5
    django.db.models:19
    django.db.models:-1
    django.db.models:6
    django.db.models:20
    django.db.models:-1
    django.db.models:7
    django.db.models:21
    django.db.models:-1
    django.db.models:8
    django.db.models:22
    django.db.models:-1
    django.db.models:9
    django.db.models:23
    django.db.models:-1
    django.db.models:10
    django.db.models:51
    django.db.models:-1
    django.db.models:23
    django.db.models:55
    django.db.models:-1
    django.db.models:24
    django.db.models:625
    django.db.models:-1
    django.db.models:45
    django.db.models:630
    django.db.models:-1
    django.db.models:46
    django.db.models:249
    django.db.models:-1
    django.db.models:47
    django.db.models:613
    django.db.models:-1
    django.db.models:48
    django.db.models:427
    django.db.models:-1
    django.db.models:49
    django.db.models:294
    django.db.models:-1
    django.db.models:50
    django.db.models:328
    django.db.models:-1
    django.db.models:51
    django.db.models:475
    django.db.models:-1
    django.db.models:52
    django.db.models:539
    django.db.models:-1
    django.db.models:53
    django.db.models:261
    django.db.models:-1
    django.db.models:54
    django.db.models:616
    django.db.models:-1
    django.db.models:55
    django.db.models:360
    django.db.models:-1
    django.db.models:56
    django.db.models:51
    django.db.models:-1
    django.db.models:57
    django.db.models:577
    django.db.models:-1
    django.db.models:58
    django.db.models:256
    django.db.models:-1
    django.db.models:59
    django.db.models:441
    django.db.models:-1
    django.db.models:60
    django.db.models:239
    django.db.models:-1
    django.db.models:61
    django.db.models:437
    django.db.models:-1
    django.db.models:62
    django.db.models:432
    django.db.models:-1
    django.db.models:63
    django.db.models:254
    django.db.models:-1
    django.db.models:64
    django.db.models:252
    django.db.models:-1
    django.db.models:65
    django.db.models:253
    django.db.models:-1
    django.db.models:66
    django.db.models:330
    django.db.models:-1
    django.db.models:67
    django.db.models:631
    django.db.models:-1
    django.db.models:68
    django.db.models:247
    django.db.models:-1
    django.db.models:69
    django.db.models:393
    django.db.models:-1
    django.db.models:70
    django.db.models:508
    django.db.models:-1
    django.db.models:71
    django.db.models:363
    django.db.models:-1
    django.db.models:72
    django.db.models:544
    django.db.models:-1
    django.db.models:73
    django.db.models:52
    django.db.models:-1
    django.db.models:74
    django.db.models:102
    django.db.models:-1
    django.db.models:75
    django.db.models:13
    django.db.models:-1
    django.db.models:76
    django.db.models:22
    django.db.models:-1
    django.db.models:77
    django.db.models:5
    django.db.models:-1
    django.db.models:78
    django.db.models:148
    django.db.models:-1
    django.db.models:79
    django.db.models:88
    django.db.models:-1
    django.db.models:80
    django.db.models:16
    django.db.models:-1
    django.db.models:81
    django.db.models:244
    django.db.models:-1
    django.db.models:82
    django.db.models:17
    django.db.models:-1
    django.db.models:83
    django.db.models:18
    django.db.models:-1
    django.db.models:84
    django.db.models:190
    django.db.models:-1
    django.db.models:85
    django.db.models:19
    django.db.models:-1
    django.db.models:86
    django.db.models:15
    django.db.models:-1
    django.db.models:88
    django.db.models:47
    django.db.models:-1
    django.db.models:89
    django.db.models:26
    django.db.models:-1
    django.db.models:96
    django.urls:3
    django.urls:-1
    django.urls:26
    django.contrib.auth.models:17
    django.contrib.auth.models:-1
    django.contrib.auth.models:4
    django.contrib.auth.models:11
    django.contrib.auth.models:-1
    django.contrib.auth.models:5
    django.contrib.auth.models:4
    django.contrib.auth.models:-1
    django.contrib.auth.models:6
    django.contrib.auth.models:14
    django.contrib.auth.models:-1
    django.contrib.auth.models:7
    django.contrib.auth.models:15
    django.contrib.auth.models:15
    django.contrib.auth.models:-1
    django.contrib.auth.models:19
    django.contrib.auth.models:19
    django.contrib.auth.models:19
    django.contrib.auth.models:19
    django.contrib.auth.models:-1
    django.contrib.auth.models:24
    django.contrib.auth.models:24
    django.contrib.auth.models:24
    django.contrib.auth.models:26
    django.contrib.auth.models:27
    django.contrib.auth.models:27
    django.contrib.auth.models:28
    django.contrib.auth.models:29
    django.contrib.auth.models:29
    django.contrib.auth.models:29
    django.contrib.auth.models:29
    django.contrib.auth.models:29
    django.contrib.auth.models:29
    django.contrib.auth.models:31
    django.contrib.auth.models:31
    django.contrib.auth.models:31
    django.contrib.auth.models:31
    django.contrib.auth.models:-1
    django.contrib.auth.models:35
    django.contrib.auth.models:35
    django.contrib.auth.models:35
    django.contrib.auth.models:37
    django.contrib.auth.models:38
    django.contrib.auth.models:39
    django.contrib.auth.models:39
    django.contrib.auth.models:39
    django.contrib.auth.models:39
    django.contrib.auth.models:39
    django.contrib.auth.models:43
    django.contrib.auth.models:43
    django.contrib.auth.models:43
    django.contrib.auth.models:-1
    django.contrib.auth.models:60
    django.contrib.auth.models:61
    django.contrib.auth.models:62
    django.contrib.auth.models:69
    django.contrib.auth.models:69
    django.contrib.auth.models:71
    django.contrib.auth.models:71
    django.contrib.auth.models:71
    django.contrib.auth.models:-1
    django.contrib.auth.models:93
    django.contrib.auth.models:93
    django.contrib.auth.models:93
    django.contrib.auth.models:-1
    django.forms:15
    django.forms:-1
    django.forms:3
    django.forms:14
    django.forms:-1
    django.forms:33
    django.forms:74
    django.forms:-1
    django.forms:34
    django.forms:28
    django.forms:-1
    django.forms:35
    django.forms:174
    django.forms:-1
    django.forms:38
    django.forms:71
    django.forms:-1
    django.forms:39
    django.forms:111
    django.forms:-1
    django.forms:40
    django.forms:92
    django.forms:-1
    django.forms:44
    django.core.files.uploadhandler:22
    django.core.files.uploadhandler:-1
    django.core.files.uploadhandler:5
    django.core.files.uploadhandler:6
    django.core.files.uploadhandler:-1
    django.core.files.uploadhandler:5
    django.core.files.uploadhandler:51
    django.core.files.uploadhandler:51
    django.utils.tree:7
    django.utils.tree:7
    django.utils.tree:-1
    django.utils.tree:10
    django.utils.tree:10

Then it lists a bunch of my files, starting with this one:

from __future__ import annotations
from enum import Enum
from typing import TYPE_CHECKING, TypeVar

if TYPE_CHECKING:
    from pydantic import BaseModel

    from foo import FooRequest
    from bar import BaseBar
    from baz import BaseBaz

BaseModelT = TypeVar("BaseModelT", bound="BaseModel")
BaseBarT = TypeVar("BaseBarT", bound="BaseBarModel", covariant=True)
BaseBazT = TypeVar("BaseBazT", bound="BaseBaz", covariant=True)
EnumT = TypeVar("EnumT", bound=Enum)
FooRequestT = TypeVar("FooRequestT", bound="FooRequest")

(Redacted model names, apologies.)

My best guess is that this used to barely work, and now is no longer working? Or it could be a red herring. 🤷

@Alexerson
Copy link
Contributor Author

Sorry, I didn’t get the time to finish my explorations. Also, it’s a weird bug, because changing versions sometimes give me bugs with different configurations…
The bug might be in mypy and not django-stubs in the end, not sure...
I’ll try to find more time this week to keep exploring.

@christianbundy
Copy link
Contributor

christianbundy commented Sep 24, 2024

Bisect complete:

git bisect start
# status: waiting for both good and bad commits
# bad: [ffcebb3f0a71c4a2c3fd5038d29b3a5bcbf73248] Add django 5.1 to the test matrix and add its classifier (#2380)
git bisect bad ffcebb3f0a71c4a2c3fd5038d29b3a5bcbf73248
# status: waiting for good commit(s), bad commit known
# good: [5118c5dfbe99504e1cca57ea00bf38bd14014e4f] Bump `django-stubs-ext` dependency to latest (#2186)
git bisect good 5118c5dfbe99504e1cca57ea00bf38bd14014e4f
# bad: [d60e31ed0ac4e4115f9ef20041521c201391d592] Prepare for a release `5.0.4` (#2285)
git bisect bad d60e31ed0ac4e4115f9ef20041521c201391d592
# good: [3830fa9b76901c0fb76cd28aa900349d1ead344c] fix handling of explicit `objects` annotation (#2241)
git bisect good 3830fa9b76901c0fb76cd28aa900349d1ead344c
# good: [b2b1afac196e622ec725248cad1c22a6557253d0] Allow single generic param for Field in ForeignKey (#2261)
git bisect good b2b1afac196e622ec725248cad1c22a6557253d0
# skip: [d747285f9597eb0942cd2e5049ed2cec6a0ac90a] Improve stackoverflow link
git bisect skip d747285f9597eb0942cd2e5049ed2cec6a0ac90a
# bad: [59ebe6f1523c4d321b9e5ecba6c6458ace813489] fill QuerySet generics using the manager's model type (#2281)
git bisect bad 59ebe6f1523c4d321b9e5ecba6c6458ace813489
# bad: [0022c598d478d5e6714e21b103ccf408b0a4ba40] Bump pyright from 1.1.372 to 1.1.373 (#2273)
git bisect bad 0022c598d478d5e6714e21b103ccf408b0a4ba40
# bad: [94846987415e16f508df73ff7439993bbf2e41e3] add `Path` type argument to tuple returned by `get_app_template_dirs` (#2266)
git bisect bad 94846987415e16f508df73ff7439993bbf2e41e3
# bad: [3f0da4f9d28fcaa20cb6d9c7d71b589dd46722f7] Bump pyright from 1.1.371 to 1.1.372 (#2264)
git bisect bad 3f0da4f9d28fcaa20cb6d9c7d71b589dd46722f7
# bad: [ac36393ba31ebafbd436b140576d8f828d8c7474] Unify plugin check for model type info (#2263)
git bisect bad ac36393ba31ebafbd436b140576d8f828d8c7474
# first bad commit: [ac36393ba31ebafbd436b140576d8f828d8c7474] Unify plugin check for model type info (#2263)

It seems that the issue started with ac36393, though when I revert it on top of master (currently ffcebb3) I still see the same issue. It could be an issue with my testing methodology, as I'm doing pip install git+file:///tmp/django-stubs and seeing some "requirement already satisfied":

Collecting git+file:/tmp/django-stubs
  Cloning file:///tmp/django-stubs to /tmp/pip-req-build-1ha3uzw8
  Running command git clone --filter=blob:none --quiet file:///tmp/django-stubs /tmp/pip-req-build-1ha3uzw8
  warning: filtering not recognized by server, ignoring
  Resolved file:///tmp/django-stubs to commit 496df6a7d3fd78c93739974892ccbf64fbc456a2
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: django in /.venv/lib/python3.12/site-packages (from django-stubs==5.1.0) (5.1.1)
Requirement already satisfied: asgiref in /.venv/lib/python3.12/site-packages (from django-stubs==5.1.0) (3.8.1)
Requirement already satisfied: django-stubs-ext>=5.1.0 in /.venv/lib/python3.12/site-packages (from django-stubs==5.1.0) (5.1.0)
Requirement already satisfied: typing-extensions>=4.11.0 in /.venv/lib/python3.12/site-packages (from django-stubs==5.1.0) (4.12.2)
Requirement already satisfied: types-PyYAML in /.venv/lib/python3.12/site-packages (from django-stubs==5.1.0) (6.0.12.20240917)
Requirement already satisfied: sqlparse>=0.3.1 in /.venv/lib/python3.12/site-packages (from django->django-stubs==5.1.0) (0.5.1)

I'm testing with Mypy 1.11.2, in case that's helpful -- unless I'm making some mistakes, it looks to me like this is specific django-stubs[-ext].

@christianbundy
Copy link
Contributor

Interesting, I just triggered the same bug when upgrading dependencies in CI, even though django-stubs and django-stubs-ext are pinned. The only relevant changes:

  • djangorestframework-stubs 3.15.0 -> 3.15.1
  • mypy 1.10.1 -> 1.11.2

Odd, I wonder if the same problem was merged into DRF-stubs?

@Alexerson
Copy link
Contributor Author

Ok, so I spent some time trying that out again this morning.

9a5ef9a seems to be the issue. Reverting it on top of master fixes the issue.

I will read more about this commit and the issue mentioned in the comment to see if I can see what’s possible.

@Alexerson
Copy link
Contributor Author

Finding that the problematic commit was about managers and from_queryset, I looked at our codebase and I was able to find a manager that depends on a queryset that depends on a model that depends on the manager.

I’m trying to write a minimal reproduction, but I have a workaround in our case.

@christianbundy
Copy link
Contributor

I looked at our codebase and I was able to find a manager that depends on a queryset that depends on a model that depends on the manager.

Do you mean something like:

class MyQuerySet(QuerySet[MyModel]):
    ...

MyManager = Manager.from_queryset(MyQuerySet)

class MyModel(Model):
    objects = MyManager()

@Alexerson
Copy link
Contributor Author

Alexerson commented Sep 26, 2024

Yes. More specifically, something like (but more complicated, because I’m inheriting from custom QuerySet and Manager):

class MyQuerySet(models.QuerySet):
    ...

class MyManager(models.Manager):
    ...

class MyModel(models.Model):
    objects = MyManager['MyModel'].from_queryset(MyQuerySet)
    ...

I removed the ['MyModel'] in the objects = line and added it to the MyQuerySet and it seems to work fine (it’s even showing me more real type errors in other places of the codebase). It was even more convoluted to be honest. I feel whoever wrote that code back in the day (= most likely me…) didn’t quite understand what it was doing.

It’s still unexpected that it would break because it used to be fine, but I’m not sure it’s a bug really. (I’m not saying "work", because I feel mypy was just ignoring some stuff that he’s now understanding and properly checking).

@christianbundy
Copy link
Contributor

Thanks! Do you have any advice on finding the culprit? The stack trace is huge, and I couldn't make sense of it, and I can't find anywhere that I'm doing anything likeobjects = MyManager['MyModel'].from_queryset(MyQuerySet).

@christianbundy
Copy link
Contributor

I think I've found it -- this seems to be correlated with the django-manager-missing error code, and caused by code like:

class MyModel(SafeDeleteModel, MyBaseModel):  # type: ignore[django-manager-missing]
   ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Development

No branches or pull requests

3 participants