我有两个模型公司和行动:
from companies.models import Company
class Action(models.Model):
company = models.ForeignKey(Company, blank=True, null=True, related_name='activity', on_delete=models.CASCADE)
然后我在utils.py中有一个实用程序
from .models import Action
def create_action(user, verb, target_name=None, target=None):
action = Action(user=user, verb=verb, target=target)
此实用程序我在def save
上调用公司模型,因此在公司模型上我有:
from not.utils import create_action
所以Action Model导入公司模型为FK,utils导入Action Model和Company Model import utils
现在,由于循环导入,Django会出错:
ImportError: cannot import name 'Company'
我在这里看到一些q / a直接使用导入(没有来)我试过但没有工作
import not.utils as nt
nt.create_action(...)
答案 0 :(得分:2)
从Company
和use a string移除actions/models.py
导入:
class Action(models.Model):
company = models.ForeignKey('companies.Company', blank=True, null=True, related_name='activity', on_delete=models.CASCADE)