Steuerung der Einfügung von Django-Many-to-Many-Beziehungen

Ich habe folgende Modelle:

class Item(models.Model):
    # fields
    # ...

class Collection(models.Model):
    items = models.ManyToManyField(Item, related_name="collections")
    # other fields
    # ...

Jetzt möchte ich zwei Dinge:

Ich möchte kontrollieren, ob einItem kann zu a hinzugefügt werdenCollection.Ich will dasCollection um einige seiner Felder zu aktualisieren, wenn einItem wurde hinzugefügt oder entfernt.

Für die zweite Ausgabe weiß ich, dass es die gibtdjango.db.models.signals.m2m_changed mit dem ich mich in veränderungen der beziehung einhängen kann. Darf ich das ändern?Collection innerhalb des Rückrufsignals? Kann ich das Signal auch zum "Abbrechen" der Einfügung für Ausgabe 1 verwenden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage