Я столкнулся с проблемой при попытке поиграть с django сигналами. У меня есть проект со следующей структурой
authexample
manage.py
posts #django app
func.py #here is sender and receiver logic is realised
В приложении posts. models.py я создал простую модель post
class Post(models.Model):
title = models.CharField(max_length=30)
body = models.CharField(max_length=50)
В моем func.py
, расположенном вне приложения post, я понял, мои сигналы вызывают logi c по следующему коду
from django.db.models import models
from posts.models import Post
from django.db.models.signals import post_save
from django.dispatch import receiver
#my sender function
def func_sender(title,body):
a = Post(title=title,body=body)
a.save()
#receiver function
@receiver(post_save,
sender = func_sender) def func_receiver (sender, ** kwargs): print («статья была сохранена»)
чем я пытаясь создать тестовую статью для этих целей, я запускаю
python manage.py shell
from func import *
a = Post("test_title","test_body)
Когда этот код был выполнен, моя тестовая статья была создана, но я ожидаю, что после того, как статья будет создана, моя функция-получатель func_receiver
выполнит и предложит мне строку внутри печать заявления. Почему этого не происходит Направь меня, пожалуйста