私はいくつかの抽象モデルを持っています:
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 抽象モデルがこのようにインポートされた理由と、この動作を回避する方法です。