相关疑难解决方法(0)

Django:在模型 save() 方法中返回序列化器 ValidationError

我使用 django-rest-framework 在 Django 框架内创建 Rest API。并且可以返回validationError序列化器方法之外的任何内容。

save()但是,我想知道是否有可能从django模型的方法返回错误并转换为 django rest validationError

例如,假设我想限制在特定表上创建对象。像这样:

class CustomTable(models.Model):
    ... # modles fields go here

    def save():
        if CustomTable.objects.count() > 2:
             # Return a validationError in any serializer that is connected to this model.
Run Code Online (Sandbox Code Playgroud)

注意我可以使用raise ValueErrorraise ValidationError,但它们都会在端点上导致 500 错误。但我想在我的 api 视图中返回一个响应,例如“已达到限制”

django django-models django-serializer django-rest-framework

4
推荐指数
1
解决办法
2306
查看次数