我有一个资源与字段some_field
。django-tastypie排除字段,如果请求有过滤器
当我用GET参数some_get_param
发出请求时,我需要排除响应中的字段。
如果我在脱水方法中删除它,我将在计算该字段的值时做更多的工作。有一个更好的方法吗?
我有一个资源与字段some_field
。django-tastypie排除字段,如果请求有过滤器
当我用GET参数some_get_param
发出请求时,我需要排除响应中的字段。
如果我在脱水方法中删除它,我将在计算该字段的值时做更多的工作。有一个更好的方法吗?
在字段中添加定义attribute=None
而不是字符串命名,然后手动脱水字段full_dehydrate
方法或从响应中删除此字段取决于bundle.request.GET.get('param', None)
值。
如果它只是一个正常的领域,那么真的不会有太多的开销。在服务器的有效负载中(可以说)更大的开销,即没有响应中的字段可能已经是一种改进。
您还可以将该字段添加到excludes
列表中作为in the docs。
最后,如果仍然不适合您,您可以使用override_urls
创建自定义端点。对于一个简单的字段排除这是矫枉过正。
谢谢你的回答。我在下面写了我的工作解决方案 –