Django Singal 如果填充了另一个模型则填充一个模型
Django Singal Populating one model if another model is populated
我有一个包含两个应用程序的 Django 项目。一个是 contact
,另一个是 contactus
我的联系方式是:
project/contact/models.py
下面:
from django.db import models
class ContactList(models.Model):
phone = models.CharField(max_length=15)
email = models.EmailField()
我的联系人模型是:
project/contactus/models.py
以下:
from django.db import models
class ContactUs(models.Model):
subject = models.CharField(max_length=50)
phone = models.CharField(max_length=15)
email = models.EmailField()
message = models.TextField()
我想当 ContactUs
class 通过用户输入获取数据时,同时 ContactUs 的 phone
和 email
应该填充在 ContactList
class
我在我的两个应用程序中创建了两个 signal.py
文件但是尝试使用一些代码丢失,我失败了..我认为这是专家最简单的任务..任何人都可以帮助我解决这个问题?
因为你想在数据保存在 ContactUs
中时做一些事情,你应该像这样使用 post_save
信号:
@receiver(post_save, sender=ContactUs)
def add_to_list(sender, instance, created, **kwargs):
if created:
ContactList.objects.create(phone=instance.phone, email=instance.email
此信号将在创建 ContactUs
对象时创建一个 ContactList
对象,并将 ContactUs
实例的 phone
和 email
值分配给ContactList
对象的 phone
和 email
字段。
有关 Django 信号的更多信息,请参见 docs
我有一个包含两个应用程序的 Django 项目。一个是 contact
,另一个是 contactus
我的联系方式是:
project/contact/models.py
下面:
from django.db import models
class ContactList(models.Model):
phone = models.CharField(max_length=15)
email = models.EmailField()
我的联系人模型是:
project/contactus/models.py
以下:
from django.db import models
class ContactUs(models.Model):
subject = models.CharField(max_length=50)
phone = models.CharField(max_length=15)
email = models.EmailField()
message = models.TextField()
我想当 ContactUs
class 通过用户输入获取数据时,同时 ContactUs 的 phone
和 email
应该填充在 ContactList
class
我在我的两个应用程序中创建了两个 signal.py
文件但是尝试使用一些代码丢失,我失败了..我认为这是专家最简单的任务..任何人都可以帮助我解决这个问题?
因为你想在数据保存在 ContactUs
中时做一些事情,你应该像这样使用 post_save
信号:
@receiver(post_save, sender=ContactUs)
def add_to_list(sender, instance, created, **kwargs):
if created:
ContactList.objects.create(phone=instance.phone, email=instance.email
此信号将在创建 ContactUs
对象时创建一个 ContactList
对象,并将 ContactUs
实例的 phone
和 email
值分配给ContactList
对象的 phone
和 email
字段。
有关 Django 信号的更多信息,请参见 docs