python – 为什么Django post_save信号给我pre_save数据?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 为什么Django post_save信号给我pre_save数据?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1244字,纯文字阅读大概需要2分钟。
内容图文
![python – 为什么Django post_save信号给我pre_save数据?](/upload/InfoBanner/zyjiaocheng/704/a9997602883741b58ae4268da107425b.jpg)
我试图将“信息”对象连接到许多“客户”(参见下面的代码)
当一个Information对象更新时,我想向连接到Information的每个Customer发送电子邮件.
但是,当我记录信号收到的sold_to字段时,我总是得到保存之前的数据.
我猜这是因为它的ManyToManyField和数据存储在一个单独的表中,但是在更新所有关系之后不应该调用post_save信号吗?
有人建议解决方案吗?
class Customer
name = models.CharField(max_length=200)
category = models.ManyToManyField('Category',symmetrical=False)
contact = models.EmailField()
class Information
name = models.CharField(max_length=200)
email = models.EmailField(max_length=200)
mod_date = models.DateTimeField(auto_now=True)
sold_to = models.ManyToManyField(Customer, null=True, blank=True)
def send_admin_email(sender, instance, signal, *args, **kwargs):
from myapp import settings
for cust in instance.sold_to.all():
settings.debug(cust.name)
post_save.connect(send_admin_email, sender=Information)
编辑:#django中的apollo13提醒我:
“相关项目(保存为多对多关系的东西)
正如您所发现的那样,它们不会保存为模型的保存方法的一部分.“ – http://groups.google.com/group/django-users/msg/2b734c153537f970
但自2006年7月9日起,我真的希望有一个解决方案.
解决方法:
对于你所面临的问题,有一个开放的票证here.你可以关注它何时进入发行版,或者你可以尝试应用它提供的补丁,看看是否有帮助.
内容总结
以上是互联网集市为您收集整理的python – 为什么Django post_save信号给我pre_save数据?全部内容,希望文章能够帮你解决python – 为什么Django post_save信号给我pre_save数据?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。