Django передает дополнительную информацию в сигнал модели ManyToMany

У меня есть много моделей, связанных с django, для которых требуется запись, созданная автоматически, когда одна модель создается с использованием сигналов. моя проблема заключается в передаче дополнительной информации в сигнал для промежуточной таблицы модели Team?

      class Listing(models.Model):
    """
    The Listing Model
    """

    # model fields --> [name, description, email, phone]

    team = models.ManyToManyField(User, through = 'Team')


class Team(models.Model):
    """
    A Group Of Users To Manage A Listing
    """

    AUTHOR = 'Author'
    EDITOR = 'Editor'

    ROLE_CHOICES = [(AUTHOR, 'Author'), (EDITOR, 'Editor')]

    listing = models.ForeignKey(Listing, on_delete = models.RESTRICT, related_name = 'businesses')
    author = models.ForeignKey(User, on_delete = models.RESTRICT, related_name = 'buddies')
    role = models.CharField(max_length = 10, choices = ROLE_CHOICES, default = EDITOR)


@receiver(post_save, sender = Listing)
def create_team(sender, instance, created, **kwargs):
    if created:
        Team.objects.create(listing = instance, author = instance.author, role = 'Author') # <-- How To Pass User Instance To Signal?!

Как передать экземпляр пользователя в сигнал, чтобы создать автора для листинга?

Например Listing.objects.create(..., author = user)создать листинг и его автора (пользователя)?

Редактировать
A создается a , которому назначена роль 'Author'и является частью управления Listing. поэтому всякий раз, когда я звоню Listing.objects.create(), как я могу передать пользователя модели для создания Teamа также с помощью сигнала create_team, иначе листинг будет без Userто есть Author

0 ответов

Другие вопросы по тегам