Как добавить отношения "многие ко многим" после сохранения в django?
Я пытаюсь создать простое приложение ToDo на django: 'ящик' содержит несколько 'задач', имеет 'владельца' (человека, который создал ящик и имеет административные привилегии) и несколько 'пользователей' (людей, которые могут получить доступ к ящику и добавлять/редактировать задачи).
Я хочу автоматически добавить владельца в набор пользователей. Я пробовал сделать это несколькими способами: Перезаписывая save():
class Box(models.Model):
owner = models.ForeignKey(User, related_name='boxes_owned', on_delete=models.CASCADE, null=True, blank=False)
users = models.ManyToManyField(User, related_name='boxes_assigned')
title = models.CharField(max_length=50)
description = models.TextField(null=True, blank=True)
def save(self):
super().save()
self.users.add(self.owner)
Это не работает, как и работа с сигналом после сохранения.
@receiver(post_save, sender=Box)
def update_box(sender, instance, **kwargs):
instance.users.add(instance.owner)
Владелец не будет добавлен в набор пользователей.
Что я делаю неправильно, как я могу это исправить? Правильный ли это вообще подход?