【发布时间】:2016-05-23 09:58:51
【问题描述】:
这个非常简单的 django restframework 代码。
models.py
class User(models.Model)
Email = models.CharField(max_length=100)
Username = models.CharField(max_length=100)
State = models.CharField(max_length=100)
序列化器.py
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('Email','Username','State')
views.py
class UserList(generics.ListCreateAPIView):
queryset = User.objects.all()
serializer_class = UserSerializer
如果使用这个我会得到这样的错误输出
{
"Email": [
"This field may not be blank."
],
"Username": [
"This field may not be blank."
],
"Country": [
"This field may not be blank."
],
}
但我需要像这样更改错误。我该如何存档这个,任何建议都非常感谢。
{"error":
[
"Email is required",
"Username is required",
"County is required"
]
}
【问题讨论】:
-
这背后的目的是什么?
-
我正在将我的 API 提供给我的前端开发人员,他提出了要求并且他正在使用 angularjs。
-
可能值得向您的前端开发人员解释为什么它们实际上是分开的,它们与实际字段相关
-
我认为将这些字段错误与非字段错误分开是一种更好的做法。因此,如果您希望在任何时候显示
username字段中的错误,您都可以! -
我完全理解 @Sayse 是什么,但我也看到了一些编写 API 的最佳实践,我问我的一些朋友,他们是移动开发人员,他们也期望单个对象中出现错误。
标签: django django-models django-rest-framework