我正在使用rest-auth注册API进行用户注册。我在UserProfile
模型中有一些额外的字段。
from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
org_id = models.CharField(max_length=100, default='')
is_teacher = models.BooleanField(blank=True, default=False)
def __str__(self):
return self.user.username
def create_profile(sender, **kwargs):
if kwargs['created']:
user_profile = UserProfile.objects.create(user=kwargs['instance'])
post_save.connect(create_profile, sender=User)
UserProfile
模型如上所示。如何将这些字段添加到rest-auth注册API端点并将数据保存到数据库。
2条答案
按热度按时间ulydmbyx1#
我为自己找到了答案
序列化程序可以写成
我没有添加
is_teacher
,因为它是可选的。在views.py中,扩展
rest_auth.regeistration.views
的RegisterView
以传递此数据并完成。最后添加一个url并传递
RegisterView.as_view()
。jjjwad0x2#
不需要更改RegisterView和URL模式。只需在www.example.com中添加settings.py: