【发布时间】:2016-08-18 05:03:33
【问题描述】:
在我的 API 中,我使用 def get_list(self, request, **kwargs): 方法。
现在我需要附加一个动态字段来提供一些额外的数据。
所以我尝试使用def dehydrate(self, bundle): 方法。
但在这种情况下,def dehydrate(self, bundle): 方法没有执行。同样,如果我删除或保留注释 def get_list(self, request, **kwargs): 方法,则 def dehydrate(self, bundle): 会执行。
在这种情况下,如何在我的 API 中附加一个额外的字段(动态字段)?
【问题讨论】:
-
需要查看您的 Resource 类,至少需要 dehydrate 方法和 get_list 方法。
-
这是我的代码:codeshare.io/qUzsJ
-
好的...现在问题正好相反。这是太多的代码来挖掘。只是略读一下,你已经覆盖了很多方法,看起来你做的工作比你需要的要多得多。我试图让我的资源比这简单得多。我怀疑你重写了一个调用 dehydrate 的方法并用你自己的方法替换它。
-
你是对的。我找到了一个参考“页面中的对象对每个对象都应用了 full_dehydrate,导致 Tastypie 将原始对象数据转换为端点支持的字段。”这里:django-tastypie.readthedocs.io/en/latest/resources.html 这意味着 **def get_list(self, request, **kwargs): ** 方法覆盖脱水。但是这里的解决方案是什么?