django - call model from a child directory -


i can't import model "logdbevents" "core" application... here hierarchy of project:

1/var/www/arpaso (root of project)     2/core         3/signals             4/__init__.py             4/log_db_event.py         3/__init__.py         3/models.py     2/manage.py 

it might circular reference, have read in other posts:

 file "/var/www/arpaso/core/models.py", line 2, in <module>     core.signals.log_db_event import save_handler, del_handler   file "/var/www/arpaso/core/signals/log_db_event.py", line 1, in <module>     core.models import logdbevents importerror: cannot import name logdbevents 

if so, how fix it? here 2 files:

models.py:

from django.db import models core.signals.log_db_event import save_handler, del_handler django.db.models.signals import post_save, post_delete  #q10 create model store database events class logdbevents(models.model):     events= (         ('dc','database entry created'),         ('dd','database entry deleted'),         ('de','database entry edited'),     )     event_time = models.datetimefield(auto_now_add=true)     event_type = models.charfield(choices=events, max_length=2)     info = models.textfield()   #start listener insert or update queries post_save.connect(save_handler, dispatch_uid='post_save') #start listener delete queries post_delete.connect(del_handler, dispatch_uid='post_delete') 

log_db_event.py:

from core.models import logdbevents   #q10: saves signal database def log_handler (signal_type, sender, **kwargs):     #do not save events logdbevents (otherwise unfinite calls!)     if sender != logdbevents:         logdbevents(event_type=signal_type,                 info="%s model changed new entry %s"%(                         sender.__name__,                         kwargs['instance'])         ).save()  #q10: create or add signal intercepted def save_handler(sender, **kwargs):     if kwargs['created']:         return log_handler ('dc', sender, **kwargs)     else:         return log_handler ('de', sender, **kwargs)  #q10: delete signal intercepted def del_handler(sender, **kwargs):     return log_handler ('dd', sender, **kwargs) 

i ended using method:

log_db_event.py:

import core.models instance=core.models.logdbevents() 

it works ;).