拥有相当大的models.py
文件(包含多个模型),我正在尝试重构,每个文件一个模型。
因此我试图创建一个models
包,结构如下:
app/models/__init__.py
app/models/first_model.py
app/models/second_model.py
不幸的是,我无法让 Django 惰性引用机制正常工作,即:
first_model = models.ForeignKey('app.FirstModel')
返回 Django 找不到模型的错误。
任何想法?谢谢!
它应该可以工作,请确保在 __init__.py 中导入来自 first_model.py 和 secondary_model.py 的所有模型。
from .first_model import FirstModel
from .second_model import SecondModel
编辑:如果您想将模型检索为“app_label.model_name”,那么您必须将它们导入到 __init__.py 中,否则您可以尝试以下操作:
Use https://docs.djangoproject.com/en/2.0/ref/applications/#django.apps.apps.get_model
或者您可以使用 ContentTypes:https://docs.djangoproject.com/en/2.0/ref/contrib/contenttypes/#methods-on-contenttype-instances
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)