gpt4 book ai didi

Django Rest Framework 将数据从序列化器保存到模型

转载 作者:行者123 更新时间:2023-12-04 12:03:40 25 4
gpt4 key购买 nike

如何将数据从序列化程序保存到模型数据库。以下是示例代码但不将数据保存到数据库!

例如,我正在使用示例示例 View :

View .py

@api_view(['GET', 'POST', ])
def login(request):
if request.method == "POST":
s = LoginSerializer(data=request.data)
if s.is_valid():
s.save()
return Response(s.data, status=201)
else:
return Response(s.data, status=203)
else:
return Response("", status=404)

模型.py
from django.db.models import Model
from django.db import models


class UserDetails(Model):
userid = models.AutoField(primary_key=True)
first_name = models.CharField(max_length=20)
last_name = models.CharField(max_length=20)
phone = models.CharField(max_length=15)


class UserLogin(Model):
userid = models.ForeignKey(UserDetails, on_delete=None)
email = models.CharField(max_length=20)
password = models.CharField(max_length=30)

serializers.py
from rest_framework import serializers
from api.models import UserLogin, UserDetails


class LoginSerializer(serializers.Serializer):
userid = serializers.Field()
email = serializers.EmailField()
password = serializers.CharField(max_length=20)

def create(self, validated_data):
return UserLogin.objects.create(**validated_data)

最佳答案

serializers.py

from rest_framework import serializers

from api.models import UserLogin, UserDetails


class LoginSerializer(serializers.Serializer):
userid = serializers.Field()
email = serializers.EmailField()
password = serializers.CharField(max_length=20)

def create(self, validated_data):
return super().create(validated_data)

关于Django Rest Framework 将数据从序列化器保存到模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49593230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com