从djang中的基本模型“创建”子模型

2024-10-17 06:13:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有三个模型,一个名为CommonUser(AbstractUser)的基和两个子模型,Professional(CommonUser)和{}。在

我使用django-rest-social-auth从Facebook、Google等创建用户,在我的设置中,我设置了AUTH_USER_MODEL = 'users.CommonUser',但是我有两个步骤来创建用户,首先使用社交登录,然后,我有一个表单来填充某类用户的其余数据。在

我现在需要从django rest social auth创建的CommonUser创建一个客户端或一个专业实例,换句话说,我想在提交第二步表单后将django rest social auth创建的CommonUser实例“移动”到客户端实例或专业实例上。在


Tags: django实例用户模型authrest客户端表单
1条回答
网友
1楼 · 发布于 2024-10-17 06:13:40

经过一些测试和相关的搜索,我找到了一个解决方案。在

在我的示例中,在要保存客户机或专业用户的视图中,我将使用:

common_user = CommonUser.objects.get(id=id)
common_user.__class__ = Client
common_user.save()

编辑

上面的方法看起来不安全。在

再搜索一下,我找到了解决方案here

基本上:

^{pr2}$

现在我可以表演:

>>> professional = CommonUser.create_child(Professional, {'id': 1})
>>> client = CommonUser.create_child(Client, {'id': 2})

相关问题 更多 >