pycharm 循环依赖的类型提示[重复]

p5fdfcr1  于 2023-10-20  发布在  PyCharm
关注(0)|答案(1)|浏览(180)

此问题已在此处有答案

How do I type hint a method with the type of the enclosing class?(9个回答)
上个月关门了。
我正在构建一个Django/DRF应用程序,并有以下模型:

  1. class Company(models.Model):
  2. some_field = models.TextField()
  3. some_method(self, user):
  4. pass
  5. class User(AbstractUser):
  6. company = models.ForeignKey(Company, on_delete=models.CASCADE)

公司模型的方法some_method使用用户作为输入。代码本身运行良好。但是,我如何在PyCharm中输入hint这个参数来获得IDE支持/代码完成?像some_method(user: User):一样声明它会产生一个“Unresolved reference”错误,这是有道理的,因为user类在文件中声明得更靠下。有没有变通方法,或者我必须在没有代码完成的情况下生活?

kqqjbcuj

kqqjbcuj1#

你可以在引号中使用类型,链接器可以理解它,但它不会导致运行时错误。
范例:

  1. some_method(user: "User"):

相关问题