【发布时间】:2018-09-10 14:31:21
【问题描述】:
如何将数据从序列化程序保存到模型数据库。以下是示例代码,但未将数据保存到数据库!
例如,我正在使用示例示例视图:
views.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)
models.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)
【问题讨论】:
-
你有没有得到任何错误?你目前的反应是什么?
-
我已经解决了,但你能证明我如何从序列化器中引用模型中的外键吗?
-
你能在这里分享解决方案吗?
-
你的模型类应该是这样的
class UserDetails(models.Model)。如果您找到了解决方案,请发布答案。
标签: django django-rest-framework