django-stubs icon indicating copy to clipboard operation
django-stubs copied to clipboard

PyCharm type hint bug.

Open changja88 opened this issue 8 months ago • 5 comments

story_models: QuerySet[StoryModel] = StoryModel.objects.filter(
    member_id=owner_member_id,
    created__gte=dtz.now() - timedelta(days=1),
    is_deleted=False,
).order_by("-created")



class StoryModel(TimeStampedModel):
    member = models.ForeignKey(
        MemberModel, on_delete=models.CASCADE, related_name="member_story", help_text="스토리 주인 멤버"
    )
    file = ResizedImageField(quality=80, upload_to=get_s3_file_path_for_story)
    is_show = models.BooleanField(default=True, help_text="스토리 공개 여부")

PyCharm says "Expected QuerySet[StoryModel, StoryModel] but got QuerySet[StoryModel].

story_models: list[StoryModel] = StoryModel.objects.filter(
    member_id=owner_member_id,
    created__gte=dtz.now() - timedelta(days=1),
    is_deleted=False,
).order_by("-created")

If I change type hint to list from queryset, pycharms syas expected list[StoryMoel] but got QuerySet[StoryMoel]

Please help me fix this issues Thanks a lot :)

System information

  • OS: MacOS
  • python version: 3.13.1
  • django version: 5.1.6
  • mypy version: mypy 1.15.0 (compiled: yes)
  • django-stubs version: django-stubs = { version = "^5.1.1", extras = ["compatible-mypy"] }
  • django-stubs-ext version: X

changja88 avatar Feb 20 '25 03:02 changja88