Django 递归导入

发布于 2024-12-06 13:21:04 字数 211 浏览 0 评论 0原文

我有两个应用程序:pt 和tasks。

pt.models 有一个会员模型。 tasks.models 有一个 Filters 模型。

成员模型具有过滤器模型的外键(一个用于成员)。 过滤器具有针对成员的 M2M 字段,因为它保存某种过滤设置。

因此,我必须递归导入两个模型以使所有内容同步,这在 Python 中是不可能的。

有什么想法吗?

I have two apps: pt and tasks.

pt.models has a Member model.
tasks.models has a Filters model.

Member model has a foreign key to Filters model (one for a member).
Filters has M2M field to Member as it holds some kind of filtering settings.

So, I must recursively import both models to get everything synced what is impossible in Python.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

坚持沉默 2024-12-13 13:21:04

再次强调,循环导入在 Python 中并不是错误,只是使用了尚不存在的名称。

来自文档

如果需要在尚未定义的模型上创建关系,可以使用模型的名称,而不是模型对象本身...

Again, circular imports are not an error in Python, only using names that don't yet exist when doing so.

From the docs:

If you need to create a relationship on a model that has not yet been defined, you can use the name of the model, rather than the model object itself...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文