[英]How to use Django Signals?
I'm practicing Signals, I have two models 我正在练习信号,我有两个模型
models.py models.py
class National_ID_Card(models.Model):
name = *************
ID = *************
address = *************
state = *************
nation = **********
def __str__(self):
return self.name
class Driving_Licence(models.Model):
name = *************
ID = *************
vehicle_type = **********
callahan = ***********
def __str__(self):
return self.name
forms.py 表格
class NationalIDForm(forms.ModelForm):
class Meta:
model = National_ID_Card
fields = ('__all__')
class DrivingLicenceForm(forms.ModelForm):
class Meta:
model = Driving_Licence
fields = ('__all__')
I want when i will be saving instance of National_ID_Card
it would populate the name
and ID
field of Driving_Licence
from also. 我想在保存National_ID_Card
实例时也从中填充Driving_Licence
的name
和ID
字段。 I can do so with overriding method of save
but how to do so in django signals? 我可以使用overriding method of save
来执行此操作,但是如何在Django信号中执行此操作? I tried many examples but cannt able to figure it out. 我尝试了许多示例,但无法弄清楚。
You can do it in a couple of ways: 您可以通过以下两种方式进行操作:
from django.db.models.signals import post_save
def your_signal_fuction(sender, instance, **kwargs):
# Your code goes here
post_save.connect(your_signal_fuction, sender=National_ID_Card)
Using receiver decorator 使用接收器装饰器
from django.db.models.signals import post_save
from django.dispatch import receiver
@receiver(post_save, sender=National_ID_Card)
def your_signal_fuction(sender, instance, **kwargs):
# Your code goes here
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.