我有许多与 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
,否则列表将没有User
ieAuthor