首先,我不是开发人员。
尝试使用Django(版本3.1.2)构建应用程序,但在信号方面遇到了一些问题。
我在我的models.py中有这些模型:
尝试使用Django(版本3.1.2)构建应用程序,但在信号方面遇到了一些问题。
我在我的models.py中有这些模型:
class PhoneNumbers(models.Model):
number = models.CharField(_('Category'), max_length=255)
created = models.DateTimeField(_('Created'), auto_now_add=True, blank=True)
uuid = models.UUIDField(default=uuid.uuid4, editable=False, unique=True)
以及一个名为 Persons
的模型
class Persons(models.Model):
name = models.CharField(_('Name'), max_length=255)
number = models.CharField(_(Number), max_length=255)
...
我 signals.py
中的代码:
from django.db.models.signals import pre_save, post_delete, post_save
from django.dispatch import receiver
from .models import PhoneNumbers, Persons
@receiver(post_save, sender=Persons)
def save_contract(instance, sender, created, **kwargs):
print("Request finished!")
当我保存一个Person时,我希望在控制台输出中得到一条打印信息,但是我什么都没有得到。这是怎么回事?
我还在__init__.py
中添加了以下内容:
default_app_config = 'myapp.apps.MyAppConfig'
我的apps.py文件如下:
from django.apps import AppConfig
class MyAppConfig(AppConfig):
name = 'myapp'
导入应用程序.信号 # noqa ModuleNotFoundError:没有名为“apps”的模块
import signals # noqa ModuleNotFoundError:没有名为"信号"的模块
- sokolatasignals.py
文件保存在哪里了?它应该在你的应用程序目录下。如果应用程序有不同的名称,那么你需要导入import my_app_name.signals
,所以它应该是你定义信号的应用程序的signals
模块。 - Willem Van Onsem