django - 尽量避免循环导入

标签 django django-models

最近我将一个应用程序拆分为两个独立的应用程序,因为我有 15 个以上的模型。我收到了“循环导入错误”。为了解决这个问题,我试着写这个:

from django.db import models

class App1Model(models.Model):
    app2model = models.ForeignKey(app2.App2Model)

我得到的错误是:“NameError: name 'app2' is not defined”。但是 app2 已正确添加到已安装的应用程序和路径中。
project
    -app1
        --models.py
    -app2
        --models-py

最佳答案

ForeignKey可以将字符串作为参数,即 models.ForeignKey('app2.App2Model') .当然,您应该首先尝试设计代码以避免任何循环依赖。

关于django - 尽量避免循环导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6285084/

相关文章:

django - eb 部署错误 - chown/var/app/staging/venv/bin/python : no such file or directory

Django RSS Feed 的域设置为 example.com

django - 在django模板中获取用户信息

django模板继承和上下文

Django REST Framework - 组合和分页多个模型

django - 如何使用另一个数据库(非默认数据库)中的 auth_user?

Django:过滤多对多字段时重复

python - 为什么要用get_context_data(self,**kwargs)和super()

带有自定义外键的模型的 Django models.ForeignKey 问题

python - 预期“权限”实例,得到...权限实例?