@9550668

Почему при создании записи в модели автоматически добавляется ссылка ManyToMany?

Всем доброго времени суток.

У меня возникает проблема автодобавления связки при создании записей в модели.
Модель(немного сократил - убрал часть полей, чтобы не терять фокус вопроса):
class Marathon(models.Model):
    name = models.CharField(
        _("Name"),
        max_length=100,
    )
    creator = models.ForeignKey(
        "users.User",
        on_delete=models.CASCADE,
        related_name="owner",
        related_query_name="marathon_owner",
        verbose_name=_("Marathon creator"),
    )
    avatar = models.ForeignKey(
        "marathons.MarathonAvatar",
        verbose_name=_("Marathon avatar"),
        related_name="marathon",
        on_delete=models.SET_NULL,
        blank=True,
        null=True,
    )
    participants = models.ManyToManyField(
        "users.User",
        related_name="marathon",
        related_query_name="marathon_participants",
        verbose_name=_("Marathon participants"),
        blank=True,
    )


При создании записи пользователем, у меня автоматически пользователь становится привязанным к полю creator(часть кода из view):
request_data = self.request.POST
request_data._mutable = True
request_data['creator'] = request.user.id
serialization = self.serializer_class(data=request_data, context={'request': request})


Но почему этот же пользователь автоматически добавляется в поле participants модели? Как этого избежать?
  • Вопрос задан
  • 25 просмотров
Пригласить эксперта
Ответы на вопрос 1
@cgamadeus
Попробуй поставить symmetrical=False в поле ManyToManyField
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы