我正在尝试创建一个简单的 API 来获取用户注册。
我使用默认用户表进行身份验证,创建了另一个名为“电话”的表,与用户一对一关系。
我正在尝试在密码上方添加“电话”字段。(我希望附加的图像是可见的)。
**
序列化程序.py
class UserRegisterSerializer(serializers.ModelSerializer): class Meta: model = UserDetailsModel fields = ('phone', 'user')
类 RegisterSerializer(serializers.ModelSerializer): 密码 = serializers.CharField(max_length=68, min_length=6, write_only=True)
class Meta:
model = User
fields = ('username','first_name', 'last_name','email','password')
read_only_fields = ('id',)
**
models.py<< ** 类 UserDetailsModel(models.Model):
phone = models.IntegerField()
balance = models.DecimalField(max_digits=10, decimal_places=2, default=0)
user = models.OneToOneField(get_user_model(),primary_key='email' , on_delete=models.CASCADE)
def __str__(self):
return str(self.user)
**
视图.py
** 类 RegisterView(generics.GenericAPIView): serializer_class = RegisterSerializer
def post(self, request):
user = request.data
serializer = self.serializer_class(data=user)
serializer.is_valid(raise_exception=True)
serializer.save()
user_data = serializer.data
return Response(user_data,status=status.HTTP_201_CREATED)
类 DetailsRegisterView(generics.GenericAPIView): serializer_class = UserRegisterSerializer
def post(self, request):
user = request.data
serializer = self.serializer_class(data=user)
serializer.is_valid(raise_exception=True)
serializer.save()
user_data = serializer.data
return Response(user_data,status=status.HTTP_201_CREATED)
**
网址
** urlpatterns = [
path('',RegisterView.as_view()),
path('details', DetailsRegisterView.as_view())
] **
