0

我有许多与 django 相关的模型,当使用信号创建一个模型时需要自动创建一个条目。我的挑战是将额外信息传递给中间团队模型表的信号?

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)创建列表和它的作者(用户)?

编辑
AListing由 a 创建User,他被分配了角色'Author'并且是Team管理 的一部分Listing。所以每当我打电话时Listing.objects.create(),我如何将用户传递给模型以Team使用信号创建以及create_team,否则列表将没有UserieAuthor

4

0 回答 0