我有一个用户方法:
@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
可以吗?谢谢!
答案 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
发出信号。