post_save
post_save 在django中是属于一种模型之间的信号机制,对某个模型进行操作的时候通知其他模型
代码 如下:
class Profile(models.Model)
user = models.OneToOneField(User, on_delete=models.CASCADE)
name = models.CharField(verbose_name=u'名称', blank=True, null=True, max_length=40)
code = models.CharField(verbose_name=u'代码', blank=True, null=True, max_length=6)
def create_user_profile(sender, instance, created, **kwargs):
if created:
Profile.objects.create(user=instance) #instance 作为一个实例传入,创建一个profile实例
else:
if not hasattr(instance, 'profile'):
Profile.objects.create(user=instance)
post_save.connect(create_user_profile, sender=User)
在User表保存后,就进行create_user_profile这个函数,在Profile中创建包含user的实例