2
class SparePart(models.Model):
    name = models.CharField(max_length=255)
    description = models.TextField(blank=True, null=True)

class SparePartOrderRelation(models.Model):
    sparepart = models.ForeignKey(SparePart)
    order = models.ForeignKey('SparePartOrder')

class SparePartOrder(models.Model):
    spareparts = models.ManyToManyField(SparePart, through=SparePartOrderRelation)

def signaltest(**kwargs):
    print kwargs['action']

m2m_changed.connect(signaltest, sender=SparePartOrder.spareparts.through, weak=False, dispatch_uid='signaltest')

(simplified models for clarity)

Why isn't the m2m_changed signal send and signaltest called? when I save a SparePartOrder? I've tried replacing the sender= with almost every combination of (possible) references to the m2m model (SparePartOrder.spareparts, SparePartOrderRelation etc.)

Help is appreciated!

Cheers

0 Answers0