- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 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/
假设我有一个名为 A 的模型,它有一个名为 name 的字段。如何在 pre_save 信号中获取以前的值和新值? @receiver(pre_save, sender=A) def signal_p
我有一个模型类“Action”,它由其他几个类扩展。我是 django 的新手,假设如果我调用 pre_save.connect(actionFunc, sender=Action) ,则只要调用 A
我的模型中有两个必填字段,我想在 ModelViewSet 的 pre_save 方法中填充它们。尽管将它们设置在那里,但在提交 .create() 请求时,我仍然收到一个错误,指出这两个字段是必需的
我正在使用 Django 信号进行数据反规范化。这是我的代码: # vote was saved @receiver(pre_save, sender=Vote) def update_post_vo
我通过以下方式测试了Django的“pre_save”信号,但都无法捕捉到信号。 $ from django.db.models.signals import pre_save import logg
我有一个 Order (1) 和 OrderLine (n) 模型,这里的订单可以有多个订单行。这都是从 Django-admin 内部运行的,其中 OrderLine设置为 inlines 的一部分
如果在处理 instance 中的数据期间出现问题,我想通知用户。在我的 pre_save接收器功能。 是否可以提高自定义ValidationError从接收器功能?如果没有,我将如何实现这样的事情?
以下是我的模型: class Product(models.Model): product_title = models.CharField(max_length=100, null=Fals
我在 MyModel 上定义了一个 pre_save,它看起来像这样: @receiver(pre_save, sender=MyModel) def _mymodel_pre_save(sender
我想在创建用户之前执行一些自定义操作。我想到了为此使用 pre_save 信号。如果其中一个操作会引发异常,则停止事务、中止创建用户等。 这是要走的路吗?如果在此步骤中出现问题(这是必需的行为),它会
我正在使用 Python mongoengine,我想定义回调,每次更新文档时都会调用它。 from mongoengine import * from mongoengine import sign
我正在 Django 1.6 中开发一个通知应用程序,我想将其他参数传递给 Django 信号,例如 post_save .我尝试使用 functools 中的部分,但没有运气。 from funct
当一个字段发生变化时,我需要执行一些操作。 由于此操作需要使用已保存的对象,因此我无法像这样使用 pre_save 信号: @receiver(pre_save, sender=reservation
我必须执行 multi-aspect type of inheritance from UML在 Django ORM 中。我有 Contract 数据类型,根据客户类型(普通客户或商业客户)可以将其
我有一个用于生成 slug 的自定义字段,并且我在我的模型中使用它。 奇怪的是,我无法弄清楚为什么我在此自定义字段的方法 pre_save 中生成的值没有在当前实例上设置。 我的问题不是关于以不同方式
获得 Django 1.11 应用程序。一切工作正常,除了 pre_save 信号出现奇怪的问题。在我的模型中,我有两个多对多字段,用于计算相关模型中的总成本(带宽和许可证)。 我创建了一个 pre_
我有一个模型: class A(models.Model): number = models.IntegerField() 但是当我调用 A.save() 时,我想确保该数字是质数(或其他条件
class TodoList(models.Model): title = models.CharField(maxlength=100) slug = models.SlugFiel
我有两个模型。当我保存第一个实例时,我需要将这个模型的字段值发送到另一个模型的字段中。 第一个模型: class ModelOne(models.Model): # fields...
如果之前已经回答过这个问题但已经搜索了几个小时,我们深表歉意。 我正在尝试对带有 m2m 字段的 django rest 模型进行验证。我有一个分配有角色的模型。如果角色与现有模型重叠并且想抛出验证错
我是一名优秀的程序员,十分优秀!