我正在使用tastypie,我有一个独特的情况。我的模型有一个名为“format”的字段,所以当我尝试调用相关的API并传递format = json时,我收到此错误:
'format'字段不允许过滤。
除了重命名我的模型字段外,还有另一种解决方法吗?
答案 0 :(得分:0)
看起来'format'在tastypie.utils.mime.determine_format()
中是硬编码的。您可以覆盖Resource.determine_format
:
class MyResource(ModelResource):
def determine_format(self, request):
"""
Used to determine the desired format.
Largely relies on ``tastypie.utils.mime.determine_format`` but here
as a point of extension.
"""
# Determine your format and return it.
# This is the default implementation.
return determine_format(request, self._meta.serializer, default_format=self._meta.default_format)
答案 1 :(得分:0)
恕我直言,查询字符串中的?format=json
只是一种解决方法。我从不依赖它。正确的方法是发送标题content-type: application/json
。