내가 읽은 Django의 문서 signals.py
에 따르면 앱 폴더에서 시작하기에 좋은 곳인 것 같지만 내가 직면 한 문제는 신호를 생성 pre_save
하고 모델에서 클래스를 가져 오려고 할 때 import
내 모델에서.
# models.py
from django.contrib.auth.models import User
from django.db import models
from django.utils.translation import gettext as _
from signals import *
class Comm_Queue(CommunicatorAbstract):
queue_statuses = (
('P', _('Pending')),
('S', _('Sent')),
('E', _('Error')),
('R', _('Rejected')),
)
status = models.CharField(max_length=10, db_index=True, default='P')
is_html = models.BooleanField(default=False)
language = models.CharField(max_length=6, choices=settings.LANGUAGES)
sender_email = models.EmailField()
recipient_email = models.EmailField()
subject = models.CharField(max_length=100)
content = models.TextField()
# signals.py
from django.conf import settings
from django.db.models.signals import pre_save
from django.dispatch import receiver
from models import Comm_Queue
@receiver(pre_save, sender=Comm_Queue)
def get_sender_email_from_settings(sender, **kwargs):
obj=kwargs['instance']
if not obj.sender_email:
obj.sender_email='%s' % settings.ADMINS[0][1]
이 코드는 Comm_Queue
내부를 가져오고 내부 signals.py
신호도 가져 오기 때문에 실행되지 않습니다 models.py
.
이 문제를 어떻게 극복 할 수 있는지에 대한 조언을받을 수 있습니까?
문안 인사