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