将新用户添加到刚创建的对象

时间:2018-10-06 05:43:35

标签: django django-models

我有一个用户方法:

@transaction.atomic
def create_company(self, **kwargs):
    new_company = Company.objects.create(**kwargs)
    new_company.admin_users.add(self)
    new_company.users.add(self)
    return new_company

它可以工作,但是我不确定这是对象创建其他东西的最佳实践。我应该如何修复它以使其变得更好更简单?使用signals可以吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您也可以使用信号:

@receiver(post_save, sender=User)
def create_company(sender, instance, created, **kwargs):
    if created:
        Company.objects.create(admin_users = instance, new_company = instance)

我建议仅在创建新公司时使用kwargs created发出信号。