简单的问题。当您将名称“format”作为TastyPie模型的属性时会发生什么?
当你的模型看起来像这样时,如何处理http://0.0.0.0:9000/api/v1/library_type/?format=json?
的查询。
class LibraryType(models.Model):
"""The information about each library type."""
format = models.IntegerField(choices=LIBRARYTYPE_CHOICES)
equiv = models.IntegerField()
name = models.CharField(max_length=96)
prefix = models.CharField(max_length=96)
description = models.CharField(max_length=255, db_column='remark')
你最终得到:
{
"error": "Invalid resource lookup data provided (mismatched type)."
}
显然这是有道理的,但你如何使用它?相应的资源定义。
class LibraryTypeResource(ModelResource):
class Meta:
queryset = LibraryType.objects.all()
resource_name = 'library_type'
list_allowed_methods = ['get',]
detail_allowed_methods = ['get', ]
filtering = {
'id': ('exact', ),
'name': ALL,
'format': ALL,
'prefix': ALL,
'description': ALL,
'site': ALL_WITH_RELATIONS,
}
答案 0 :(得分:0)
您是否只使用json格式?
如果是这样,你可以使用TASTYPIE_DEFAULT_FORMATS将其设置为json,不要再使用format = json。
如果没有,你可以使用tastypie的一个钩子来检索格式查询参数,并用它做你想做的任何事情。
我会更改查询参数的名称。