gpt4 book ai didi

django - 使用 Django Rest Framework 在 Pre_Save 中引发验证错误

转载 作者:行者123 更新时间:2023-12-05 02:23:13 25 4
gpt4 key购买 nike

我在使用 Django Rest Framework 时遇到验证错误。

我有一个所有者字段。所有者字段需要访问请求对象。文档建议 using the following approach :

def pre_save(self, obj):
obj.owner = self.request.user

我的问题是如果此代码失败,如何引发验证错误。我尝试在 pre_save 方法中引发错误,但这不能正常工作。它实际上会导致从 Django 返回 HTML 响应,而不是来自 Django Rest Framework 的消息。

最佳答案

使用 django rest framework exceptions .例如:

from rest_framework.exceptions import ParseError

...

parsed_data = self.parse(some_data)
if not parsed_data:
raise ParseError('Some error occurred')

另请注意,您不会在其中看到 404,那是因为它使用了 django.http.Http404 异常。这些由 API 以一种很好的方式返回。

注意:

如果您正在进行大量验证,您可能需要查看 placing your logic in the serializer .

关于django - 使用 Django Rest Framework 在 Pre_Save 中引发验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24726789/

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