как избежать циклического импорта моделей в django

#python-3.x #django-models #django-3.0

#python-3.x #django-модели #django-3.0

Вопрос:

Я создал два приложения в django: 1. опросы 2. результат

Код в polls.models

 from django.db import models
from result.models import QuestionToAsk

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

 
class Choice(models.Model):
    question_to_ask = models.ForeignKey(QuestionToAsk, on_delete=models.CASCADE)
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    votes = models.IntegerField(default=0)

    #note:this is just an example to illustrate the problem i am facing.
  

Код в result.models

 from django.db import models
from polls.models import Question

# Create your models here.
class QuestionToAsk(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

class ChoiceToMake(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    question_to_ask = models.ForeignKey(QuestionToAsk, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

    #note:this is just an example to illustrate the problem i am facing.
  

Когда я запускаю :

python manage.py makemigrations

Он выдает ошибку:

ImportError: не удается импортировать имя «Вопрос»

Я должен знать, ошибка связана с циклическим импортом. Я хочу знать, каков другой способ избежать циклического импорта в моделях.

Я хочу создать внешний ключ в обеих моделях приложения.

Комментарии:

1. Похоже, что работает полный импорт polls.models и results.models , а не только одного определения.

2. У меня это не работает!!

3. Может быть, вы можете показать, где происходит ошибка в manage.py .