【发布时间】:2019-03-09 12:11:07
【问题描述】:
如何使用 POST 检索模型上的单个数据?
一开始,我的想法是传递参数映射。然后,服务器端的视图将负责读取地图中所需的参数并返回响应。
当我在 Postman 中对此进行测试时,我发送带有电子邮件和密码的请求正文,但随后它返回错误:'name is required'
我希望这个 api 像泛型一样工作。检索但不是用 url,而是用 POST 代替
模型.py
class Member(models.Model):
name = models.CharField(max_length=100)
password = models.CharField(max_length=100)
email = models.EmailField(unique=True)
phone = models.IntegerField(default=9999)
serializer.py
class LoginMemberSerializer(serializers.ModelSerializer):
class Meta:
model = Member
fields =[
'name',
'password',
'email',
'phone',
]
view.py
class LoginMemberAPI(APIView):
def get_queryset(self):
return Member.objects.all()
def post(self, request, format=None):
serializer = LoginMemberSerializer(data=request.data)
if serializer.is_valid():
print(serializer.validated_data['email'])
member = Member.objects.get(name = str(serializer.validated_data['name']))
# serializer.save()
return Response(serializer.data)
return Response(serializer.errors)
【问题讨论】:
-
你能在邮递员中显示你发布的数据吗
-
你发送
username但在模型name? -
@Exprator 谢谢,我编辑了它
-
@BearBrown 抱歉,我的意思是电子邮件和密码
-
你试过勾选
name键所在行的复选框吗?
标签: python django python-3.x django-rest-framework