我在 django 中扩展 User 对象并拥有一个用户配置文件。因此,使用 post_save 挂钩,我以下列方式保存用户配置文件:
class UserProfile(models.Model):
user = models.OneToOneField(User)
def create_user_profile(sender, instance, created, **kwargs):
if created:
userObj, createdUser = UserProfile.objects.get_or_create(user=instance)
post_save.connect(create_user_profile, sender=User)
当我通过 python manage.py shell 运行 shell 时,它工作正常;在表中保存用户对象和用户配置文件,但如果我通过启动请求进行测试,在处理该请求的 views.py 中,我执行以下操作
def handleRequest(request):
user = User(username="test",email="test",password="test")
user.save()
当然,我创建了一个 HttpResponse 并返回了一个响应,但为简洁起见省略了它。结果是我在 auth_user 中保存了一个用户条目,但没有用户配置文件。什么交易?请帮忙。