を避けるために、post_save信号を切断これは私のモデルである:ジャンゴ:再帰
class Paper(models.Model):
...
collection = models.ForeignKey(Collection, on_delete=models.CASCADE)
rang = models.IntegerField(default=0)
class Meta:
ordering = ['collection','rang']
モデルを保存するとき、私は彼らが増加するように、それはモデルの各オブジェクト内のすべての「鳴り」フィールドを更新したいです
@receiver(post_save, sender=Papier)
def redifine_rang(sender, *args, **kwargs):
for idx, paper in enumerate(Paper.objects.filter(collection = kwargs['instance'].collection)):
paper.rang = idx*10
Signal.disconnect(post_save, sender=Papier)
paper.save()
Signal.connect(post_save, sender=Papier)
しかし、私は切断して接続する信号を取得することはできません。10.
によって私は再帰の問題を回避するには、以下のpost_save信号を使用します。誰にも何か推奨事項はありますか?
使用することができますその中にインスタンスを保存しないでください。 – Rohan