Django greift über das Signal post_save auf ManyToMany-Felder zu
Ich habe ein Django-Modell und möchte die Objektberechtigungen beim oder kurz nach dem Speichern ändern. Ich habe ein paar Lösungen ausprobiert und diepost_save
signal schien der beste Kandidat für das zu sein, was ich tun möchte:
class Project(models.Model):
title = models.CharField(max_length=755, default='default')
assigned_to = models.ManyToManyField(
User, default=None, blank=True, null=True
)
created_by = models.ForeignKey(
User,
related_name="%(app_label)s_%(class)s_related"
)
@receiver(post_save, sender=Project)
def assign_project_perms(sender, instance, **kwargs):
print("instance title: "+str(instance.title))
print("instance assigned_to: "+str(instance.assigned_to.all()))
In diesem Fall wird beim Erstellen eines Projekts das Signal ausgelöst und ich sehe dastitle
, aber eine leere Liste für dieassigned_to
Feld.
Wie kann ich auf die gespeicherten zugreifen?assigned_to
Daten nach dem Speichern?