-
-
Notifications
You must be signed in to change notification settings - Fork 450
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
Could not resolve manager type for "core.models.FooModel.objects" [django-manager-missing] #1023
Comments
I have been getting the same error and I think it might be related to #1022 |
I wouldn't directly say it's related to #1022, unless you're seeing that error too. The error you're seeing was intentionally introduced in #999. I'd start with investigating the types for your model managers. I think manager names are outputted in the errors you're seeing? Could you display how you set up one of those managers generating the error? |
I didn't setup any manager explicitly for those models. I create those models like this: from django.db import models
import uuid
class Base(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
class FooModel(Base):
foo = models.CharField(max_length=100)
bar = models.BooleanField() And I use it like this: There is, of course, way more going on, but that is the gist of it. I can try to make a minimal example with pinned dependencies some time this week if that helps. |
Interesting, I'm pretty certain we have test cases covering non-explicit managers. But I'll double check that. A minimal example would be helpful too! |
UUID might hack itself onto the base manager of models that use it, perhaps? |
I actually also use Django money. I thought it was not related 🤔 |
Hm, one important lead would be what the type the manager is during runtime. @MartinThoma since it's an implicit manager. Could you investigate what type(FooModel.objects) outputs? |
Then it could be related to #993 (comment) |
Using the interactive shell:
|
I'm using |
Then it's definitely related to #993 (comment) and django-money not exporting types. I'm afraid it's not much to do other than ignoring the error until django-money starts to export types. At least as far as I'm aware |
Our case is something like class UUIDPrimaryKeyAbstractModel(models.Model):
id = models.UUIDField(primary_key=True, unique=True, default=uuid.uuid4, editable=False)
class Meta:
abstract = True
class Foo(UUIDPrimaryKeyAbstractModel):
pass
class Bar(UUIDPrimaryKeyAbstractModel):
foo = models.ForeignKey(Foo, on_delete=models.CASCADE) No django-money. |
I would like to add that we have the same issue with another untyped library that provides Model base classes. Since it is not possible to suppress the error in mypy and there seems to be no other workaround, this is a complete blocker for us to switch to 1.12.0 |
Hi, I'm also using Is there any temporary workaround? |
I tried forking the repo and adding the required After looking at how django-money overrides managers though, I'm not confident this actually can be fixed by exporting types. Essentially what django-money does is subscribe to the This, to me, seems impossible to type hint. Do you agree, or am I missing something? Hoping for the latter 🤞 🙂 |
I am running into this problem when using
Is there any workaround that I could do or is this something that would need to be fixed within |
Django money causes django-manager-missing error in mypy. Issue is here - typeddjango/django-stubs#1023
* CHANGE: Settings to include audit log. * CHANGE: Create system user command - Remove multiple stdout - Add tests for command * ADD: Celery Tasks for clearing audit logs Add - Celery tasks that runs to clear audit logs older than 30 days. * CHANGE: Fields involving money to MoneyFields - Add MoneyFields from django-money.. * Update 0001_initial.cpython-311.pyc * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update 0001_initial.cpython-311.pyc * FIX: Mypy Errors due to Django Money Django money causes django-manager-missing error in mypy. Issue is here - typeddjango/django-stubs#1023 * Delete test_createsystemuser.py --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Having the same issue as @mschoettle , using |
Same issue with django-modeltrans. Ive opened an issue there but I just found this one. In case it helps, I've got a minimal project reproducing the issue with that library: https://github.com/browniebroke/modeltrans-mypy-bug |
I'm sorry for the bump but are there any updates or improvements on this matter? I've just encountered this issue with |
Same issue with django-taggit Would it be possible to add disable-error-code config to django-stubs[-ext]? |
Same here. It seems to trigger with only a subclassed Model too. I wrote my own extended Model class to abstract a few common traits. |
Any updates on this? Is there a workaround? We're hitting this issue with a model inheriting 2 of our own abstract classes and no untyped/mistyped third party packages in the chain. I tried adding the type hints to the model to represent the relationship but that doesn't seem to work. |
Also hitting this issue: originally I thought problem was inheriting from |
If anyone doesn't know: you can ignore this error by adding a
I'm still on 4.0.0, but for me |
Bug report
I've updated
django-stubs-ext
from 0.4.0 to 0.5.0 and got a lof of error messages from mypy. Before, mypy didn't complainThere might actually be nothing wrong with django-stubs, but maybe I need to add a type annotation. The problem is that I have no idea what I need to change.
The code has many unit tests. It's very unlikely that all of those locations mypy now complains about actually have issues that would prevent proper code execution.
What's wrong
mypy shows several
django-manager-missing
errors.How is that should be
No mypy errors shown
System information
python
version: 3.8django
version: 3.2mypy
version: 0.942django-stubs
version: 1.12.0django-stubs-ext
version: 0.5.0The text was updated successfully, but these errors were encountered: