【问题标题】:Django REST Framework with ForeignKey on_delete=models.PROTECT带有 ForeignKey on_delete=models.PROTECT 的 Django REST 框架
【发布时间】:2022-01-13 13:33:38
【问题描述】:

当我尝试使用选项 on_delete=models.PROTECT 删除另一个模型中的 ForeignKey 的 Django 模型对象时,返回的错误是正常的 Django 500 异常 HTML 网页,如何使 Django 休息框架返回 json 响应错误,DRF 有没有办法默认做到这一点,还是应该自定义?

【问题讨论】:

    标签: python django django-models django-rest-framework


    【解决方案1】:

    引发 500 异常是预期的行为。您必须自定义才能有自定义错误。可以参考这个similar question

    【讨论】:

      【解决方案2】:

      您可以使用 ProtectedError 异常捕获错误。 像这样-

      from django.db.models import ProtectedError
      
      try:
          # Write here your code
      except ProtectedError:
          # Return your customer validation error

      【讨论】:

        猜你喜欢
        • 2018-11-03
        • 1970-01-01
        • 2017-05-13
        • 2016-06-22
        • 1970-01-01
        • 2019-05-01
        • 2015-05-10
        • 2023-03-17
        • 2018-08-06
        相关资源
        最近更新 更多