我有一些抽象模型:
class MyModel(models.Model):
#some filelds...
class Meta:
abstract = True
当我像这样导入这个模型时:from project.application.models import MyModel
我导入了这个类:<class 'project.application.models.MyModel'>
但是当我像这样导入时:我导入from application.models import MyModel
了这个类,没有project
前缀:<class 'application.models.MyModel'>
如果模型不是抽象的,它总是带project
前缀导入:<class 'project.application.models.MyModel'>
所以当我尝试使用 issubclass 函数时,它会导致奇怪的行为。
问题是为什么以这种方式导入 django 抽象模型以及如何避免这种行为?