请问有人能解释一下这种行为吗:
django项目名为foo
文件bar/models.py
:
class MyModelError(TypeError):
pass
class MyModel(models.Model):
...
./manage.py shell
>>> from foo.bar.models import MyModel as m1
>>> from bar.models import MyModel as m2
>>> from foo.bar.models import MyModelError as e1
>>> from bar.models import MyModelError as e2
>>> m1 is m2
True
>>> e1 is e2
False
假的?!
>>> m1
<class 'foo.bar.models.MyModel'>
>>> m2
<class 'foo.bar.models.MyModel'>
>>> e1
<class 'foo.bar.models.MyModelError'>
>>> e1
<class 'bar.models.MyModelError'>
我在这里做错了什么?我的解决方法(除了确保我以“正确的方式”导入)是将错误类作为模型本身的成员(就像Django中的model.DoesNotExists
),但我想知道发生了什么。
import
导入名称中带有点的模块。 - Ignacio Vazquez-Abrams