2010-06-24 3 views
4

у меня есть такой заказ файла:Джанго сигналы файла, не может импортировать имена модели

project/ 
    app/ 
     models.py 
     signals.py 

Я держу сигналы внутри signals.py, как это должно быть. и в верхней части файла signals.py, я включаю MYAPP модель, как я делаю запросы в этих сигналах с

from myproject.myapp.models import Foo 

Однако он не кажется, чтобы найти его, как я запустить сервер или проверить из manage.py, он дает эту ошибку:

from myproject.myapp.models import Foo 
ImportError: cannot import name Foo 

Я использую Django 1.2.1.

ответ

13

Скорее всего, у вас есть круговая зависимость. Ваши модели.py импортируют сигналы? Если это так, это не может работать, поскольку оба модуля теперь зависят друг от друга. Возможно, вам придется импортировать модели внутри функции в файл сигналов, а не на верхний уровень.

+0

благодарит много Daniel! Помещение импорта внутри сигнала решило проблему :) – Hellnar

+4

Другой вариант - переместить «импортные сигналы» в самый конец вашего файла 'models.py'. – bradenm

Смежные вопросы