我有一個資源與字段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
創建自定義端點。對於一個簡單的字段排除這是矯枉過正。
謝謝你的回答。我在下面寫了我的工作解決方案 –