我正在使用Djangorestframework在聊天网站上工作,在其中提交消息的方式是使用`GenericAPIView`和`Message`模型的序列化程序完成的。
MessageSerializer
获取User
和内容,我想限制以用户名提交的邮件仅限该用户,因此用户将无法在其他用户的名称。
我认为最好的方法是检查`GenericAPIView`的`post`方法,查看消息作者和当前经过身份验证的用户之间的匹配。问题是我有一个自定义身份验证后端,所以出于某种原因,`request.user`是`AnonnymousUser`,即使我将DRF的默认身份验证设置为`SessionAuthentication`,我仍然得到相同的结果。
`request.user`确实在正常的django视图中返回当前用户,但在DRF视图中没有。
有没有更好的方法来实现这一目标?或者我做错了什么?我非常感谢你的帮助。
答案 0 :(得分:0)
我认为你应该检查你是否在login_view中调用了django.contrib.auth.login()。