django - Django如何在使用信号从另一个模型输入后更新一些特定的字段数据
问题描述
我对 django 信号有一些问题。在我向 PenelitiPemindahanWP 输入数据后,我想将 PermohonanWP 状态模型字段从“PROSES”更新为“SUCCESS”。(假设我已经将数据输入到 PermohonanWP 模型,状态 = 'PROSES')
这是我的model.py
class PermohonanWP(models.Model):
npwp = models.CharField(max_length=15, null=False)
nama = models.CharField(max_length=100, null=False)
status = models.CharField(max_length=20, null=True)
class PenelitiPemindahanWP(models.Model):
permohonan_pemindahan = models.ForeignKey(PermohonanWP, on_delete=models.CASCADE)
nomor_lhp = models.IntegerField(null=True)
nomor_st = models.CharField(max_length=50, null=True)
这里我的信号我在model.py中输入
@receiver(post_save, sender=PenelitiPemindahanWP, dispatch_uid="update_permohonan_id")
def update_permohonan(sender, instance, **kwargs):
pemohon = PermohonanWP.objects.get(id=instance.permohonan_pemindahan)
pemohon.status = "SUCCESS"
pemohon.save()
我想从 PermohonanWP 更新状态字段,但是每当我提交已保存的按钮时,它不会保存并且不会更新字段。
解决方案
纠正这个
pemohon = PermohonanWP.objects.get(id=instance.permohonan_pemindahan)
到
pemohon = PermohonanWP.objects.get(id=instance.permohonan_pemindahan.id)
或者
甚至简单:
pemohon = instance.permohonan_pemindahan
推荐阅读
- android-recyclerview - 在 Recycler 视图上调用“通知”方法(EG notifyItemRangeInserted)之前,有没有办法等待代码生效?
- python - Tensorflow 模型的表现明显差于 Keras 模型
- javascript - 我添加它会破坏我的代码,没有它它可以完美运行
- c# - 最小化表单时如何在面板中自动显示水平滚动条?
- javascript - 在分离的元素中加载页面并在其自身上执行其脚本而不影响当前文档
- html - 像这样的网站可以用完整的 html 和 css 设计吗?
- python - 对 python codehs 8.4.4 感到困惑
- r - 匹配来自两个数据框的两列并提供不同的列
- reactjs - 胜利图表:使用带有条形图的标签
- python - 有没有办法使用 SQL 表达式遍历 s3 对象内容?