我正在尝试为一系列 Django 模型重构我的代码,但这对一般的 python 导入有效。让我解释一下我的设置和问题(完全是假的课程等)
APP_ROOT/
|- __init__.py
|- tests/
|- urls.py
|- models/
| |- __init__.py
| |- BunchOfModels.py
| |- SomeMoreModels.py
\- admin.py
在models.__init__
:
# models/__init__.py
from APP_ROOT.models.BunchOfModels import *
from APP_ROOT.models.SomeMoreModels import *
这允许我执行以下操作:
from APP_ROOT.models import SuperModel
# Where SuperModel is in SomeMoreModels
问题是类repr是:
<class 'project.APP_ROOT.models.SomeMoreModels.SuperModel'>
这弄乱了外键。
我的问题:
有没有办法做到这一点,以便我所有的课程都有一个更像是:
<class 'project.APP_ROOT.models.SuperModel'>
无需手动重载__repr__
每个课程。我什至不确定这是否会解决问题,即使解决了,这也不会很好地移植。
还是我需要重新使用一个又大又丑的文件...