dehydrate不适用于django tastypie api
在我的API中,我使用的是dehydrate不适用于django tastypie api,django,tastypie,Django,Tastypie,在我的API中,我使用的是def get_list(self、request、**kwargs):方法 现在我需要附加一个动态字段来提供一些额外的数据 因此,我尝试使用def脱水(self,bundle):方法 但在本例中,def dehydrate(self,bundle):方法未执行。同样,如果我删除或保留注释def get_列表(self,request,**kwargs):method,那么def dehydrate(self,bundle):执行 在这种情况下,我如何将一个额外字段(动
def get_list(self、request、**kwargs):
方法
现在我需要附加一个动态字段来提供一些额外的数据
因此,我尝试使用def脱水(self,bundle):
方法
但在本例中,def dehydrate(self,bundle):
方法未执行。同样,如果我删除或保留注释def get_列表(self,request,**kwargs):
method,那么def dehydrate(self,bundle):
执行
在这种情况下,我如何将一个额外字段(动态字段)附加到我的API中?如果覆盖了错误的方法,请使用
obj\u get\u list
提供数据而不是get\u list
查看classResource
(resources.py
),行号参考django tastypie的0.13.3版:
- 1319:定义
,在第1339行中取消捆绑get_list
- 1132:定义
,引用注释obj_get_list
,此方法在获取资源上可用的对象列表
中被覆盖,并为Django ORM提供工作版本ModelResource
您可能还想阅读这里的内容,其中解释了要覆盖哪些方法。需要查看您的资源类,至少是dehydrate方法和get_list方法。下面是我的代码:Ok。。。现在问题恰恰相反。这是太多的代码,无法通过挖掘。简单地说,你已经克服了很多方法,看起来你做的工作比你需要的多得多。我尽量让我的资源比这简单得多。我怀疑你过度使用了一种叫脱水的方法,并用你自己的方法来代替它。你是对的。我发现了一个引用“页面中的对象都应用了full_deterheate,导致tastype将原始对象数据转换为端点支持的字段。”这里:这意味着**def get_list(self,request,**kwargs):**方法覆盖deterheate。但这里的原因是什么?